Tutoriels

Docker : créer facilement un container VPN avec NordVPN

Publié le 12 juillet 2022 Temps de lecture : 5 min.

Je vous retrouve aujourd’hui pour vous partager un article rapide permettant de mettre en place simplement un container VPN sur Docker en moins de 5 minutes grâce à un docker-compose et l’utilisation de NordVPN.

Petit disclamer, même si lorsque l’on lit NordVPN, on pense direct à sponsoring, je peux vous dire que ce n’est pas le cas ici (juste le lien est affilié). J’ai juste choisi ce VPN car il est assez populaire et donc pratique pour réaliser un tutoriel simple et rapide !

Je pars du principe que vous avez déjà un Docker qui tourne sur une machine et si possible avec Portainer installé.

Création du container VPN

Nous allons donc utiliser un docker-compose qui vous permet de déployer un container juste en copiant un morceau de code avec l’ensemble des paramètres. Voici le code à reprendre, nous allons utiliser le container de Bubuntux.

version: "3"
services:
  nordvpn:
    image: ghcr.io/bubuntux/nordvpn
    container_name: nordvpn
    cap_add:
      - NET_ADMIN
      - NET_RAW
    environment:              
      - USER=EMAIL
      - "PASS=MOTDEPASSE"
      - CONNECT=France
      - TECHNOLOGY=NordLynx
      - NETWORK=192.168.1.0/24
    ports:
      #Torrent
     - 5050:5050 #Ceci est un exemple
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=1

Côté Portainer, il faut ensuite aller dans l’onglet « Stacks » puis cliquer sur « Add Stack », vous arriverez sur une interface comme celle-ci. Vous pouvez coller le code en modifiant bien évidemment les paramètres avec votre adresse email et mot de passe NordVPN.

Cliquez ensuite tout en bas sur « Deploy the stack ». Votre container est maintenant disponible.

De nombreuses options sont disponibles, je vous invite à regarder le Github du container pour voir l’ensemble des variables, on retrouve par exemple :

  • CONNECT : pour choisir le serveur/pays de votre choix
  • DNS : pour configurer le DNS et contourner certains blocages
  • CHECK_CONNECTION_INTERVAL : pour vérifier si la connexion est toujours ok

Vérification que la connexion VPN est bien établie

Afin de vérifier si tout est ok, vous pouvez vous rendre sur le container et aller dans les logs de celui-ci.

Vous aurez un message de ce genre selon le serveur choisi : You are connected to France #738 (fr738.nordvpn.com)!

Utilisation dans un autre container

Maintenant que notre container VPN est en place, nous allons pouvoir l’utiliser comme source internet pour un autre container, par exemple cela peut être un client Torrent, Jackett qui se connecte aux indexers, etc.

Vous avez juste à ajouter la propriété : network_mode: ‘container:nordvpn’ (en remplaçant le nom si besoin).

version: "3"
services:
  rtorrent-rutorrent:
    image: crazymax/rtorrent-rutorrent:latest
    container_name: rutorrent
    network_mode: 'container:nordvpn'

NordVPN et le port fowarding ?

Si comme moi vous souhaitez utiliser NordVPN pour télécharger des torrents linux via rTorrent par exemple, vous allez vite vous retrouver bloquer. En effet, sur rTorrent vous devez avoir un port ouvert sur l’extérieur pour permettre le seed.

Aujourd’hui (à la date de cet article), NordVPN ne propose plus le port fowarding (soit disant pour des questions de sécurité). Nous sommes donc bloqués pour l’ouvrir et faire fonctionner parfaitement vos torrents.

Je vais continuer de fouiller de mon côté sur les solutions, certains parlent d’utiliser qBittorrent et un proxy.. à voir ! 🤓


J’espère que cet article vous sera utile, laissez un commentaire si vous avez une questions ou une suggestion !

avatar-ag

Article rédigé par Antoine Guilbert

Blogueur passionné par les nouvelles technologies et la domotique.
J'adore tester des produits, voyager à travers le monde et faire des photos.

En savoir plus