Aller directement au contenu
  • Accueil
  • Catégories
    • Toutes les catégories
    • Planète Warez
      Présentations
      Aide & Commentaires
      Réglement & Annonces
      Tutoriels
    • IPTV
      Généraliste
      Box
      Applications
      VPN
    • Torrent & P2P
    • Direct Download et Streaming
    • Autour du Warez
    • High-tech : Support IT
      Windows, Linux, MacOS & autres OS
      Matériel & Hardware
      Logiciel & Software
      Smartphones & Tablettes
      Graphismes
      Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
      Tutoriels informatiques
    • Culture
      Actualités High-Tech
      Cinéma & Séries
      Sciences
      Musique
      Jeux Vidéo
    • Humour & Insolite
    • Discussions générales
    • Espace détente
    • Les cas désespérés
  • 0 Non lus 0
  • Récent
  • Mots-clés
  • Populaire
  • Meilleur vote
  • Résolu
  • Non résolu
  • Utilisateurs
  • Groupes
  • Faire un don
  • Wiki
Réduire
Logo

Planète Warez

,
  • Politique
  • Règlement
  • À propos
  • Annonces
  • Faire un don
  • Feedback
  • Team
  • Tutoriels
  • Bug Report
  • Wiki
    • Light
    • Default
    • Ubuntu
    • Lightsaber
    • R2d2
    • Padawan
    • Dim
    • FlatDark
    • Invaders
    • Metallic
    • Millennium
    • Leia
    • Dark
    • DeathStar
    • Starfighter
    • X-Wing
    • Sith Order
    • Galactic
ko-fi
  1. Accueil
  2. High-tech : Support IT
  3. Tutoriels informatiques
  4. Monter son serveur VPS Wireguard et l’utiliser avec un client Docker + kill switch + proxy

Monter son serveur VPS Wireguard et l’utiliser avec un client Docker + kill switch + proxy

Planifier Épinglé Verrouillé Déplacé Tutoriels informatiques
10 Messages 6 Publieurs 2.0k Vues
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • Aeryaundefined Hors-ligne
    Aeryaundefined Hors-ligne
    Aerya
    Seeder Geek Gamer Torrent user GNU-Linux User Usenet
    a écrit sur dernière édition par Aerya
    #1

    Source : mon blog

    J’utilise depuis un petit bout de temps un VPS IONOS en guise de serveur VPN basé sur Wireguard. Ce protocole VPN bride moins le débit qu’OpenVPN et c’est bien pratique dans le cadre d’une utilisation “dédiée au trafic” (voici une idée des performances avec/sans VPN, celles-ci sont très aléatoires et données à titre indicatif). IONOS est le moins cher que j’avais trouvé mais ça fonctionne tout aussi bien avec des VPS OVH (trafic illimité), Vultr (Cloud Compute, trafic selon l’offre) ou encore Hetzner (Cloud, 20Tb de trafic mensuel).

    IONOS permet de louer un VPS dès 1.20€ TTC/mois (sans engagement contrairement à mes souvenirs) avec un trafic illimité et une bande passante de 400Mbps (malgré ma ligne fibre de 1Gbps c’est déjà pas mal). 512Mo de RAM suffisant amplement pour un serveur VPN (OpenVPN comme Wireguard). J’installe mon serveur avec le script d’Angristan et côté client je passe par 2 Dockers (dont 1 que je viens de changer car plus récent) : un client Wireguard avec kill switch/proxy/DNS over TLS etc d’intégrés de Quentin McGaw.

    Au menu :

    • Installer le serveur IONOS (+ le firewall, obligatoire chez eux)
    • Serveur Wireguard
    • Client Docker
    • Utilisation

    Il est compliqué de trouver un VPS qui allie petit prix et bande passante + trafic. Je privilégie IONOS pour son prix, 1.20€ TTC et son trafic illimité. La bande passante est limitée à 400Mbps, en deçà de mon débit fibre (1000/600Mbps) mais ce sera amplement suffisant pour mon utilisation : torrenting (rarement), bouncer IRC, streaming et surf.

    Une fois le compte validé par IONOS (pas la peine de penser Tor/BTC avec eux), je prends possession de mon VPS. J’y installe Debian 10 (besoin d’1GB de RAM pour Debian 11) et y adjoins une clé SSH (un mot de passe fonctionne aussi).

    text alternatif
    On peut suivre l’état d’avancement sur l’interface. IONOS oblige ensuite à définir une stratégie de pare-feu.

    text alternatif
    Pour pouvoir s’y connecter en SSH il est impératif d’ouvrir le port TCP 22 puis on peut définir un port UDP pour notre serveur Wireguard (ce que vous voulez). Ce sont évidemment de sports d’entrée, par défaut leur firewall ne ferme aucun port de sortie.

    text alternatif
    Wireguard n’est pas par défaut dans les dépôts de Debian 10 et son noyau de base ne le supporte pas (5.6 minimum)

    root@localhost:~# uname -sr
    Linux 4.19.0-18-amd64
    

    On doit donc installer les backports, rafraichir les sources et mettre à jour vers un nouveau noyau (5.10 ici)

    root@localhost:~# sh -c "echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list"
    
    root@localhost:~# apt-get update
    
    root@localhost:~# apt-get install -y linux-image-5.10.0-0.bpo.9-amd64 linux-image-amd64
    

    Après un reboot, le noyau est bien à jour

    root@localhost:~# uname -r
    5.10.0-0.bpo.9-amd64
    

    Je peux ensuite y installer mon serveur Wireguard via le script d’Angristan. On vérifie/intègre quelques paramètres : le port Wireguard est évidemment celui qu’on a ouvert dans le pare-feu IONOS. Et j’utilise les DNS de dns.watch et quad9.

    root@localhost:~# curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 15088  100 15088    0     0  94300      0 --:--:-- --:--:-- --:--:-- 94300
    
    root@localhost:~# chmod +x wireguard-install.sh
    
    root@localhost:~# ./wireguard-install.sh
    Welcome to the WireGuard installer!
    The git repository is available at: https://github.com/angristan/wireguard-install
    
    I need to ask you a few questions before starting the setup.
    You can leave the default options and just press enter if you are ok with them.
    
    IPv4 or IPv6 public address: 123.456.789.10
    Public interface: ens192
    WireGuard interface name: wg0
    Server's WireGuard IPv4: 10.66.66.1
    Server's WireGuard IPv6: fd42:42:42::1
    Server's WireGuard port [1-65535]: 60177
    First DNS resolver to use for the clients: 84.200.69.80
    Second DNS resolver to use for the clients (optional): 9.9.9.9
    
    Okay, that was all I needed. We are ready to setup your WireGuard server now.
    You will be able to generate a client at the end of the installation.
    Press any key to continue...
    

    Je lance l’installation dans la foulée. Il faut entrer un nom de client, pour moi ce sera NUC2 car il sera utilisé sur mon… NUC n°2 (je suis un grand créatif !)

    Tell me a name for the client.
    The name must consist of alphanumeric character. It may also include an underscore or a dash and can't exceed 15 chars.
    Client name: NUC2
    Client's WireGuard IPv4: 10.66.66.2
    Client's WireGuard IPv6: fd42:42:42::2
    
    Here is your client config file as a QR Code:
    
    [QRcode]
    
    It is also available in /root/wg0-client-NUC2.conf
    If you want to add more clients, you simply need to run this script another time!
    

    Et voilà. Serveur installé. Je peux déjà afficher le contenu de la configuration (cat /root/wg0-client-NUC2.conf) en vue de son utilisation dans le client Docker.

    [Interface]
    PrivateKey = abc
    Address = 10.66.66.2/32,fd42:42:42::2/128
    DNS = 84.200.69.80,9.9.9.9
    
    [Peer]
    PublicKey = def
    PresharedKey = ghi
    Endpoint = 123.456.789.10:60177
    AllowedIPs = 0.0.0.0/0,::/0
    

    En guise de client je passe par le Docker gluetun de qdm12. Il est très complet !
    Outre qu’il soit prévu pour un bon nombre de fournisseurs VPN, ilest compatible OpenVPN comme Wireguard, intère un kill switch (qui empêche une connexion hors VPN si le serveur distant est HS), un proxy shadowsock(SOCKS5)/HTTP/HTTPS, compatible ARM etc. En gros, il manque juste le café ^^

    J’installe ça sur le NUC2, dans sa version Custom Provider

    --name wireguard \
    --restart always \
    --cap-add=NET_ADMIN \
    -e TZ=Europe/Paris \
    -e VPNSP=custom \
    -e VPN_TYPE=wireguard \
    -e WIREGUARD_ENDPOINT_IP=123.456.789.10 \
    -e WIREGUARD_ENDPOINT_PORT=60177 \
    -e WIREGUARD_PUBLIC_KEY=def \
    -e WIREGUARD_PRIVATE_KEY=abc \
    -e WIREGUARD_PRESHARED_KEY=ghi \
    -e WIREGUARD_ADDRESS="10.66.66.2/32" \
    --label=com.centurylinklabs.watchtower.enable=true \
    qmcgaw/gluetun
    

    Il suffit de remplir d’après de le fichier de configuration client Wireguard juste au-dessus :
    PUBLIC_KEY = PublicKey
    PRIVATE_KEY = PrivateKey
    PRESHARED_KEY = PresharedKey
    Et comme souvent j’ajoute Watchtower.

    On peut vérifier que tout fonctionne dans les logs du Docker

    root@NUC2:/home/aerya/# docker logs wireguard
    ========================================
    ========================================
    =============== gluetun ================
    ========================================
    =========== Made with [IMG alt="❤️"]https://s.w.org/images/core/emoji/13.1.0/svg/2764.svg[/IMG] by ============
    ======= https://github.com/qdm12 =======
    ========================================
    ========================================
    
    Running version latest built on 2021-11-07T21:29:28.361Z (commit 6ffb94f)
    
    
    
    2021/11/08 14:40:40 INFO vpn: You are running on the bleeding edge of latest!
    2021/11/08 14:40:41 INFO ip getter: Public IP address is 123.4456.789.10 (xxx xxx xxx)
    
    [...]
    

    Ou en suivant le Wiki. Pensez à changer le nom du Docker client “gluetun” pour le nom de votre Docker

    root@NUC2:/home/aerya/docker/wireguard# docker run --rm --network=container:wireguard alpine:3.14 sh -c "apk add wget && wget -qO- https://ipinfo.io"
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
    (1/3) Installing libunistring (0.9.10-r1)
    (2/3) Installing libidn2 (2.3.1-r0)
    (3/3) Installing wget (1.21.1-r1)
    Executing busybox-1.33.1-r3.trigger
    OK: 8 MiB in 17 packages
    {
      "ip": "123.456.789.10",
      "city": "xxx",
      "region": "xxx",
      "country": "xxx",
      "loc": "xxx",
      "org": "AS8560 IONOS SE",
      "postal": "60306",
      "timezone": "Europe/Berlin",
      "readme": "https://ipinfo.io/missingauth"
    

    Son utilisation est simple. Par exemple pour faire en sorte que mon Docker ruTorrent passe par le VPN, il suffit de le forcer à utiliser le réseau de ce dernier via l’option [I]–network=container:wireguard[/I] (ou tout autre nom que vous auriez donné à votre Docker client).
    Le fait de faire passer un container par le réseau d’un autre empêche de publier un port. En effet, la publication de port (-p 927/80 ) n’est utile que lorsqu’on peut y accéder directement. Et vu que ça passe par le réseau VPN, ce n’est pas le cas.

    Le principe est le même pour tous les containers Dockers (sauf rares exceptions) : bouncer IRC (ZNC), blog, Nextcloud… A vous de voir l’intérêt de faire transiter telle ou telle application par un VPN.

    --name=rutorrentwireguard \
    --restart always \
    -v /home/aerya/docker/rutorrentwireguard/config:/config \
    -v /mnt:/downloads \
    -e PGID=0 -e PUID=0 \
    -e TZ=Europe/Paris \
    --net=container:wireguard \
    romancin/rutorrent:0.9.8
    
    

    Pour vérifier que le container ruTorrent accède bien au Web via le VPN je contrôle son IP publique (qui est donc celle de mon VPS IONOS)

    root@NUC2:/home/aerya# docker exec -it rutorrentwireguard curl icanhazip.com
    123.456.789.10
    

    Et donc pour accéder à mon Docker ruTorrent, c’est dans le Docker VPN que je dois publier le port de l’interface Web : c’est le port mapping.
    Concrètement, si je veux accéder à mon interface port 80 depuis mon réseau local, alors qu’il accède à Internet via le VPN, je dois ouvrir le port 80 dans le Docker VPN.

    Avec -p 927/80 \ j’accèderai à ruTorrent via le port 927.
    /!\ pour lancer cette version du Docker wireguard, supprimez l’existant (docker stop wireguard puis docker rm wireguard)

    --name wireguard \
    --restart always \
    --cap-add=NET_ADMIN \
    -e TZ=Europe/Paris \
    -e VPNSP=custom \
    -e VPN_TYPE=wireguard \
    -e WIREGUARD_ENDPOINT_IP=123.456.789.10 \
    -e WIREGUARD_ENDPOINT_PORT=60177 \
    -e WIREGUARD_PUBLIC_KEY=def \
    -e WIREGUARD_PRIVATE_KEY=abc \
    -e WIREGUARD_PRESHARED_KEY=ghi \
    -e WIREGUARD_ADDRESS="10.66.66.2/32" \
    -p 927/80 \
    --label=com.centurylinklabs.watchtower.enable=true \
    qmcgaw/gluetun
    

    text alternatif
    On peut aussi s’en servir de proxy pour un navigateur ou une application. Voici un exemple avec un proxy HTTP
    /!\ pour lancer cette version du Docker wireguard, supprimez l’existant (docker stop wireguard puis docker rm wireguard)

    --name wireguard \
    --restart always \
    --cap-add=NET_ADMIN \
    -e TZ=Europe/Paris \
    -e VPNSP=custom \
    -e VPN_TYPE=wireguard \
    -e WIREGUARD_ENDPOINT_IP=123.456.789.10 \
    -e WIREGUARD_ENDPOINT_PORT=60177 \
    -e WIREGUARD_PUBLIC_KEY=def \
    -e WIREGUARD_PRIVATE_KEY=abc \
    -e WIREGUARD_PRESHARED_KEY=ghi \
    -e WIREGUARD_ADDRESS="10.66.66.2/32" \
    -p 927:80/tcp \
    -p 8888:8888/tcp \
    -e HTTPPROXY=on \
    -e HTTPPROXY_PORT=8888 \
    -e HTTPPROXY_USER=aerya \
    -e HTTPPROXY_PASSWORD=motdepasse \
    -e HTTPPROXY_STEALTH=on \
    --label=com.centurylinklabs.watchtower.enable=true \
    qmcgaw/gluetun
    

    Faut bien entendu publier le port du proxy HTTP (j’ai laissé celui par défaut) : 8888. On peut l’utiliser par exemple avec l’extension de navigateurs FoxyProxy

    text alternatif
    text alternatif

    Archlinux fanboy | rClone & datahoarder | https://upandclear.org

    Ze-lolundefined 1 réponse Dernière réponse
    6
    • Un Ancien Utilisateur? Hors-ligne
      Un Ancien Utilisateur? Hors-ligne
      Un Ancien Utilisateur
      a écrit sur dernière édition par
      #2

      Sympa comme tuto, mais effectivement si debit limité a 400mbs faut se tourner vers plus performant si on veut exploiter ceux qui ont la fibre

      Sinon on est sur pour ces données mais ca reste du log vu que le fournisseur du VPS aura accès aux infos

      text alternatif

      1 réponse Dernière réponse
      0
      • Aeryaundefined Hors-ligne
        Aeryaundefined Hors-ligne
        Aerya
        Seeder Geek Gamer Torrent user GNU-Linux User Usenet
        a écrit sur dernière édition par
        #3

        A ce prix là j’estime que du 400Mbps c’est top 🙂 Malgré mon débit Internet, ça me suffit. Mais tu as raison, je fais très peu de torrenting maintenant donc ça ne remplace par un serveur dédié.
        Quant aux logs… osef pour du torrenting.

        Archlinux fanboy | rClone & datahoarder | https://upandclear.org

        pixyzundefined 1 réponse Dernière réponse
        0
        • Aeryaundefined Aerya

          A ce prix là j’estime que du 400Mbps c’est top 🙂 Malgré mon débit Internet, ça me suffit. Mais tu as raison, je fais très peu de torrenting maintenant donc ça ne remplace par un serveur dédié.
          Quant aux logs… osef pour du torrenting.

          pixyzundefined Hors-ligne
          pixyzundefined Hors-ligne
          pixyz
          Membre
          a écrit sur dernière édition par
          #4

          Bonjour, c’est un peu Hors sujet mais si vous voulez vous “amuser” ou vous faire les dents sur un VPS, Alexhost en propose un à 11.88 Euro l’année : 10GB SSD, 100 MBps, ram 1536MB. Dessus j’ai un wireguard sous ubuntu qui tourne.

          1 réponse Dernière réponse
          0
          • Aeryaundefined Hors-ligne
            Aeryaundefined Hors-ligne
            Aerya
            Seeder Geek Gamer Torrent user GNU-Linux User Usenet
            a écrit sur dernière édition par
            #5

            EDIT : ajout d’un exemple de vitesse. Je suis pas resté devant l’écran pour voir le DL mais voici l’upload au travers du VPN (ce sont des Mo/s donc x8 pour avoir des Mb/s)

            text alternatif

            Archlinux fanboy | rClone & datahoarder | https://upandclear.org

            1 réponse Dernière réponse
            0
            • Idylleundefined Hors-ligne
              Idylleundefined Hors-ligne
              Idylle
              Membre
              a écrit sur dernière édition par
              #6

              Salut,

              Merci pour le tuto ; par contre, je n’arrive pas à obtenir le check-port de rutorrent ouvert sous wireguard ; alors qu’avec le script d’Agristan sous OPENVPN, avec ce type de règle iptables côté serveur:

              [code]
              iptables -t nat -A PREROUTING -i “interfaceduserveur” -p tcp --dport porttorrent -j DNAT --to ipclientvpn:porttorrent
              [/code]

              le check-port était OK.

              1 réponse Dernière réponse
              0
              • Aeryaundefined Aerya

                Source : mon blog

                J’utilise depuis un petit bout de temps un VPS IONOS en guise de serveur VPN basé sur Wireguard. Ce protocole VPN bride moins le débit qu’OpenVPN et c’est bien pratique dans le cadre d’une utilisation “dédiée au trafic” (voici une idée des performances avec/sans VPN, celles-ci sont très aléatoires et données à titre indicatif). IONOS est le moins cher que j’avais trouvé mais ça fonctionne tout aussi bien avec des VPS OVH (trafic illimité), Vultr (Cloud Compute, trafic selon l’offre) ou encore Hetzner (Cloud, 20Tb de trafic mensuel).

                IONOS permet de louer un VPS dès 1.20€ TTC/mois (sans engagement contrairement à mes souvenirs) avec un trafic illimité et une bande passante de 400Mbps (malgré ma ligne fibre de 1Gbps c’est déjà pas mal). 512Mo de RAM suffisant amplement pour un serveur VPN (OpenVPN comme Wireguard). J’installe mon serveur avec le script d’Angristan et côté client je passe par 2 Dockers (dont 1 que je viens de changer car plus récent) : un client Wireguard avec kill switch/proxy/DNS over TLS etc d’intégrés de Quentin McGaw.

                Au menu :

                • Installer le serveur IONOS (+ le firewall, obligatoire chez eux)
                • Serveur Wireguard
                • Client Docker
                • Utilisation

                Il est compliqué de trouver un VPS qui allie petit prix et bande passante + trafic. Je privilégie IONOS pour son prix, 1.20€ TTC et son trafic illimité. La bande passante est limitée à 400Mbps, en deçà de mon débit fibre (1000/600Mbps) mais ce sera amplement suffisant pour mon utilisation : torrenting (rarement), bouncer IRC, streaming et surf.

                Une fois le compte validé par IONOS (pas la peine de penser Tor/BTC avec eux), je prends possession de mon VPS. J’y installe Debian 10 (besoin d’1GB de RAM pour Debian 11) et y adjoins une clé SSH (un mot de passe fonctionne aussi).

                text alternatif
                On peut suivre l’état d’avancement sur l’interface. IONOS oblige ensuite à définir une stratégie de pare-feu.

                text alternatif
                Pour pouvoir s’y connecter en SSH il est impératif d’ouvrir le port TCP 22 puis on peut définir un port UDP pour notre serveur Wireguard (ce que vous voulez). Ce sont évidemment de sports d’entrée, par défaut leur firewall ne ferme aucun port de sortie.

                text alternatif
                Wireguard n’est pas par défaut dans les dépôts de Debian 10 et son noyau de base ne le supporte pas (5.6 minimum)

                root@localhost:~# uname -sr
                Linux 4.19.0-18-amd64
                

                On doit donc installer les backports, rafraichir les sources et mettre à jour vers un nouveau noyau (5.10 ici)

                root@localhost:~# sh -c "echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list"
                
                root@localhost:~# apt-get update
                
                root@localhost:~# apt-get install -y linux-image-5.10.0-0.bpo.9-amd64 linux-image-amd64
                

                Après un reboot, le noyau est bien à jour

                root@localhost:~# uname -r
                5.10.0-0.bpo.9-amd64
                

                Je peux ensuite y installer mon serveur Wireguard via le script d’Angristan. On vérifie/intègre quelques paramètres : le port Wireguard est évidemment celui qu’on a ouvert dans le pare-feu IONOS. Et j’utilise les DNS de dns.watch et quad9.

                root@localhost:~# curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
                  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                 Dload  Upload   Total   Spent    Left  Speed
                100 15088  100 15088    0     0  94300      0 --:--:-- --:--:-- --:--:-- 94300
                
                root@localhost:~# chmod +x wireguard-install.sh
                
                root@localhost:~# ./wireguard-install.sh
                Welcome to the WireGuard installer!
                The git repository is available at: https://github.com/angristan/wireguard-install
                
                I need to ask you a few questions before starting the setup.
                You can leave the default options and just press enter if you are ok with them.
                
                IPv4 or IPv6 public address: 123.456.789.10
                Public interface: ens192
                WireGuard interface name: wg0
                Server's WireGuard IPv4: 10.66.66.1
                Server's WireGuard IPv6: fd42:42:42::1
                Server's WireGuard port [1-65535]: 60177
                First DNS resolver to use for the clients: 84.200.69.80
                Second DNS resolver to use for the clients (optional): 9.9.9.9
                
                Okay, that was all I needed. We are ready to setup your WireGuard server now.
                You will be able to generate a client at the end of the installation.
                Press any key to continue...
                

                Je lance l’installation dans la foulée. Il faut entrer un nom de client, pour moi ce sera NUC2 car il sera utilisé sur mon… NUC n°2 (je suis un grand créatif !)

                Tell me a name for the client.
                The name must consist of alphanumeric character. It may also include an underscore or a dash and can't exceed 15 chars.
                Client name: NUC2
                Client's WireGuard IPv4: 10.66.66.2
                Client's WireGuard IPv6: fd42:42:42::2
                
                Here is your client config file as a QR Code:
                
                [QRcode]
                
                It is also available in /root/wg0-client-NUC2.conf
                If you want to add more clients, you simply need to run this script another time!
                

                Et voilà. Serveur installé. Je peux déjà afficher le contenu de la configuration (cat /root/wg0-client-NUC2.conf) en vue de son utilisation dans le client Docker.

                [Interface]
                PrivateKey = abc
                Address = 10.66.66.2/32,fd42:42:42::2/128
                DNS = 84.200.69.80,9.9.9.9
                
                [Peer]
                PublicKey = def
                PresharedKey = ghi
                Endpoint = 123.456.789.10:60177
                AllowedIPs = 0.0.0.0/0,::/0
                

                En guise de client je passe par le Docker gluetun de qdm12. Il est très complet !
                Outre qu’il soit prévu pour un bon nombre de fournisseurs VPN, ilest compatible OpenVPN comme Wireguard, intère un kill switch (qui empêche une connexion hors VPN si le serveur distant est HS), un proxy shadowsock(SOCKS5)/HTTP/HTTPS, compatible ARM etc. En gros, il manque juste le café ^^

                J’installe ça sur le NUC2, dans sa version Custom Provider

                --name wireguard \
                --restart always \
                --cap-add=NET_ADMIN \
                -e TZ=Europe/Paris \
                -e VPNSP=custom \
                -e VPN_TYPE=wireguard \
                -e WIREGUARD_ENDPOINT_IP=123.456.789.10 \
                -e WIREGUARD_ENDPOINT_PORT=60177 \
                -e WIREGUARD_PUBLIC_KEY=def \
                -e WIREGUARD_PRIVATE_KEY=abc \
                -e WIREGUARD_PRESHARED_KEY=ghi \
                -e WIREGUARD_ADDRESS="10.66.66.2/32" \
                --label=com.centurylinklabs.watchtower.enable=true \
                qmcgaw/gluetun
                

                Il suffit de remplir d’après de le fichier de configuration client Wireguard juste au-dessus :
                PUBLIC_KEY = PublicKey
                PRIVATE_KEY = PrivateKey
                PRESHARED_KEY = PresharedKey
                Et comme souvent j’ajoute Watchtower.

                On peut vérifier que tout fonctionne dans les logs du Docker

                root@NUC2:/home/aerya/# docker logs wireguard
                ========================================
                ========================================
                =============== gluetun ================
                ========================================
                =========== Made with [IMG alt="❤️"]https://s.w.org/images/core/emoji/13.1.0/svg/2764.svg[/IMG] by ============
                ======= https://github.com/qdm12 =======
                ========================================
                ========================================
                
                Running version latest built on 2021-11-07T21:29:28.361Z (commit 6ffb94f)
                
                
                
                2021/11/08 14:40:40 INFO vpn: You are running on the bleeding edge of latest!
                2021/11/08 14:40:41 INFO ip getter: Public IP address is 123.4456.789.10 (xxx xxx xxx)
                
                [...]
                

                Ou en suivant le Wiki. Pensez à changer le nom du Docker client “gluetun” pour le nom de votre Docker

                root@NUC2:/home/aerya/docker/wireguard# docker run --rm --network=container:wireguard alpine:3.14 sh -c "apk add wget && wget -qO- https://ipinfo.io"
                fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
                fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
                (1/3) Installing libunistring (0.9.10-r1)
                (2/3) Installing libidn2 (2.3.1-r0)
                (3/3) Installing wget (1.21.1-r1)
                Executing busybox-1.33.1-r3.trigger
                OK: 8 MiB in 17 packages
                {
                  "ip": "123.456.789.10",
                  "city": "xxx",
                  "region": "xxx",
                  "country": "xxx",
                  "loc": "xxx",
                  "org": "AS8560 IONOS SE",
                  "postal": "60306",
                  "timezone": "Europe/Berlin",
                  "readme": "https://ipinfo.io/missingauth"
                

                Son utilisation est simple. Par exemple pour faire en sorte que mon Docker ruTorrent passe par le VPN, il suffit de le forcer à utiliser le réseau de ce dernier via l’option [I]–network=container:wireguard[/I] (ou tout autre nom que vous auriez donné à votre Docker client).
                Le fait de faire passer un container par le réseau d’un autre empêche de publier un port. En effet, la publication de port (-p 927/80 ) n’est utile que lorsqu’on peut y accéder directement. Et vu que ça passe par le réseau VPN, ce n’est pas le cas.

                Le principe est le même pour tous les containers Dockers (sauf rares exceptions) : bouncer IRC (ZNC), blog, Nextcloud… A vous de voir l’intérêt de faire transiter telle ou telle application par un VPN.

                --name=rutorrentwireguard \
                --restart always \
                -v /home/aerya/docker/rutorrentwireguard/config:/config \
                -v /mnt:/downloads \
                -e PGID=0 -e PUID=0 \
                -e TZ=Europe/Paris \
                --net=container:wireguard \
                romancin/rutorrent:0.9.8
                
                

                Pour vérifier que le container ruTorrent accède bien au Web via le VPN je contrôle son IP publique (qui est donc celle de mon VPS IONOS)

                root@NUC2:/home/aerya# docker exec -it rutorrentwireguard curl icanhazip.com
                123.456.789.10
                

                Et donc pour accéder à mon Docker ruTorrent, c’est dans le Docker VPN que je dois publier le port de l’interface Web : c’est le port mapping.
                Concrètement, si je veux accéder à mon interface port 80 depuis mon réseau local, alors qu’il accède à Internet via le VPN, je dois ouvrir le port 80 dans le Docker VPN.

                Avec -p 927/80 \ j’accèderai à ruTorrent via le port 927.
                /!\ pour lancer cette version du Docker wireguard, supprimez l’existant (docker stop wireguard puis docker rm wireguard)

                --name wireguard \
                --restart always \
                --cap-add=NET_ADMIN \
                -e TZ=Europe/Paris \
                -e VPNSP=custom \
                -e VPN_TYPE=wireguard \
                -e WIREGUARD_ENDPOINT_IP=123.456.789.10 \
                -e WIREGUARD_ENDPOINT_PORT=60177 \
                -e WIREGUARD_PUBLIC_KEY=def \
                -e WIREGUARD_PRIVATE_KEY=abc \
                -e WIREGUARD_PRESHARED_KEY=ghi \
                -e WIREGUARD_ADDRESS="10.66.66.2/32" \
                -p 927/80 \
                --label=com.centurylinklabs.watchtower.enable=true \
                qmcgaw/gluetun
                

                text alternatif
                On peut aussi s’en servir de proxy pour un navigateur ou une application. Voici un exemple avec un proxy HTTP
                /!\ pour lancer cette version du Docker wireguard, supprimez l’existant (docker stop wireguard puis docker rm wireguard)

                --name wireguard \
                --restart always \
                --cap-add=NET_ADMIN \
                -e TZ=Europe/Paris \
                -e VPNSP=custom \
                -e VPN_TYPE=wireguard \
                -e WIREGUARD_ENDPOINT_IP=123.456.789.10 \
                -e WIREGUARD_ENDPOINT_PORT=60177 \
                -e WIREGUARD_PUBLIC_KEY=def \
                -e WIREGUARD_PRIVATE_KEY=abc \
                -e WIREGUARD_PRESHARED_KEY=ghi \
                -e WIREGUARD_ADDRESS="10.66.66.2/32" \
                -p 927:80/tcp \
                -p 8888:8888/tcp \
                -e HTTPPROXY=on \
                -e HTTPPROXY_PORT=8888 \
                -e HTTPPROXY_USER=aerya \
                -e HTTPPROXY_PASSWORD=motdepasse \
                -e HTTPPROXY_STEALTH=on \
                --label=com.centurylinklabs.watchtower.enable=true \
                qmcgaw/gluetun
                

                Faut bien entendu publier le port du proxy HTTP (j’ai laissé celui par défaut) : 8888. On peut l’utiliser par exemple avec l’extension de navigateurs FoxyProxy

                text alternatif
                text alternatif

                Ze-lolundefined Hors-ligne
                Ze-lolundefined Hors-ligne
                Ze-lol
                a écrit sur dernière édition par
                #7

                Salut,

                @aerya a dit dans Monter son serveur VPS Wireguard et l’utiliser avec un client Docker + kill switch + proxy :

                J’utilise depuis un petit bout de temps un VPS IONOS

                Dans quel pays l’as-tu pris ton VPS IONOS ?

                4c776ef1-e1a5-4d98-ba78-0bb69aaab9e9-image.png

                Merci.

                Aeryaundefined 1 réponse Dernière réponse
                0
                • Ze-lolundefined Ze-lol

                  Salut,

                  @aerya a dit dans Monter son serveur VPS Wireguard et l’utiliser avec un client Docker + kill switch + proxy :

                  J’utilise depuis un petit bout de temps un VPS IONOS

                  Dans quel pays l’as-tu pris ton VPS IONOS ?

                  4c776ef1-e1a5-4d98-ba78-0bb69aaab9e9-image.png

                  Merci.

                  Aeryaundefined Hors-ligne
                  Aeryaundefined Hors-ligne
                  Aerya
                  Seeder Geek Gamer Torrent user GNU-Linux User Usenet
                  a écrit sur dernière édition par
                  #8

                  @ze-lol ALLEMAGNE

                  Archlinux fanboy | rClone & datahoarder | https://upandclear.org

                  Ze-lolundefined 1 réponse Dernière réponse
                  0
                  • Aeryaundefined Aerya

                    @ze-lol ALLEMAGNE

                    Ze-lolundefined Hors-ligne
                    Ze-lolundefined Hors-ligne
                    Ze-lol
                    a écrit sur dernière édition par
                    #9

                    @aerya

                    Merci (Je suis con, j’ai vu ta capture d’écran après avoir posté…). undefined

                    1 réponse Dernière réponse
                    0
                    • Violenceundefined Hors-ligne
                      Violenceundefined Hors-ligne
                      Violence
                      Admin
                      a écrit sur dernière édition par
                      #10

                      Un gros merci @Aerya pour ton tutoriel retranscrit ici.

                      undefined

                      V:\> █░░ SPR3AD TH3 C0D3 ░░█ ✌(◕‿-)✌
                      ╚═ Admin, Dev et auteur de la plupart des bugs de PW…

                      1 réponse Dernière réponse
                      1

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      S'inscrire Se connecter
                      Répondre
                      • Répondre à l'aide d'un nouveau sujet
                      Se connecter pour répondre
                      • Du plus ancien au plus récent
                      • Du plus récent au plus ancien
                      • Les plus votés







                      ©2026 planete-warez.net
                      L'actualité Warez & underground en continu
                      Icône café Faire un don
                      Politique   RGPD  @dev  Sudonix
                      • Se connecter

                      • Vous n'avez pas de compte ? S'inscrire

                      • Connectez-vous ou inscrivez-vous pour faire une recherche.
                      • Premier message
                        Dernier message
                      0
                      • Accueil
                      • Catégories
                        • Toutes les catégories
                        • Planète Warez
                          Présentations
                          Aide & Commentaires
                          Réglement & Annonces
                          Tutoriels
                        • IPTV
                          Généraliste
                          Box
                          Applications
                          VPN
                        • Torrent & P2P
                        • Direct Download et Streaming
                        • Autour du Warez
                        • High-tech : Support IT
                          Windows, Linux, MacOS & autres OS
                          Matériel & Hardware
                          Logiciel & Software
                          Smartphones & Tablettes
                          Graphismes
                          Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
                          Tutoriels informatiques
                        • Culture
                          Actualités High-Tech
                          Cinéma & Séries
                          Sciences
                          Musique
                          Jeux Vidéo
                        • Humour & Insolite
                        • Discussions générales
                        • Espace détente
                        • Les cas désespérés
                      • Non lus 0
                      • Récent
                      • Mots-clés
                      • Populaire
                      • Meilleur vote
                      • Résolu
                      • Non résolu
                      • Utilisateurs
                      • Groupes
                      • Faire un don
                      • Wiki