Introductie
In dit artikel leer je hoe je een handmatige NordVPN OpenVPN-verbinding configureert in een Gluetun Docker-container. Gluetun is een lichtgewicht VPN-clientcontainer die het verkeer van je andere Docker-containers via NordVPN over OpenVPN routeert. De belangrijkste stap waar de meeste mensen tegenaan lopen, is authenticatie: NordVPN accepteert je e-mailadres en wachtwoord niet meer voor apps van derden, dus je moet in plaats daarvan service-inloggegevens gebruiken.
Voordat je begint
- Een werkende Docker-installatie (en optioneel Docker Compose).
- Je inloggegevens voor de NordVPN-service (gebruikersnaam en wachtwoord) - dit zijn NIET je e-mailadres en wachtwoord van je Nord Account.
- De NordVPN OpenVPN-serverlocatie(s) waarmee je verbinding wilt maken (land, regio of stad).
Dit is wat je moet doen
Stap 1: Verkrijg je service-inloggegevens
- Log in op je Nord Account.
- Klik op NordVPN, scrol vervolgens omlaag naar Geavanceerde instellingen (Handmatig instellen) en klik op NordVPN handmatig instellen.
- Je ontvangt een verificatiecode in het e-mailadres dat je voor NordVPN gebruikt. Voer de code in om te bevestigen.
- Open het tabblad Dienstinloggegevens. Kopieer de gebruikersnaam en het wachtwoord die daar worden weergegeven - dit zijn de waarden die Gluetun nodig heeft.
OPMERKING: Service-inloggegevens verschillen van je normale inloggegevens voor je Nord Account. Als de authenticatie van je verbinding later mislukt, controleer dan of je de juiste service-inloggegevens hebt gekopieerd.
Stap 2: Maak de Gluetun-configuratie aan
In Gluetun gebruikt NordVPN via OpenVPN deze omgevingsvariabelen:
VPN_SERVICE_PROVIDER=nordvpnVPN_TYPE=openvpn-
OPENVPN_USER- je gebruikersnaam voor de service-inloggegevens -
OPENVPN_PASSWORD- het wachtwoord van je service-inloggegevens -
OPENVPN_PROTOCOL- optioneel,udp(standaard) oftcp
Optionele variabelen voor serverselectie zijn SERVER_COUNTRIES, SERVER_REGIONS, en SERVER_CITIES (door komma's gescheiden lijsten).
Stap 3: Uitvoeren met Docker Compose
Maak een docker-compose.yml bestand aan zoals het volgende:
services: gluetun: image: qmcgaw/gluetun container_name: gluetun cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8000:8000 # Gluetun control server (optioneel) environment: - VPN_SERVICE_PROVIDER=nordvpn - VPN_TYPE=openvpn - OPENVPN_USER=YOUR_SERVICE_USERNAME - OPENVPN_PASSWORD=YOUR_SERVICE_PASSWORD - OPENVPN_PROTOCOL=udp - SERVER_COUNTRIES=United States restart: unless-stopped
Vervang YOUR_SERVICE_USERNAME en YOUR_SERVICE_PASSWORD door de service-inloggegevens uit stap 1 en pas SERVER_COUNTRIES aan naar je voorkeurslocatie.
Stap 4: Start en verifieer de verbinding
- Start de container:
- Controleer de logs om te bevestigen dat de tunnel is opgestart:
- Bevestig dat je verkeer via NordVPN verloopt door een IP-controle uit te voeren vanuit de netwerknaamruimte van de container:
docker compose up -d
docker logs -f gluetun
docker exec gluetun wget -qO- https://ipinfo.io/ip
Het geretourneerde IP-adres moet een IP-adres van een NordVPN-server zijn, niet je echte IP-adres.
Stap 5: Routeer andere containers via Gluetun
Om het verkeer van een andere container door de tunnel te sturen, stel je die container in om het netwerk van Gluetun te delen en verwijder je de eigen poorten (publiceer ze in plaats daarvan op de Gluetun-service):
yourapp: image: your/app-image network_mode: "service:gluetun" depends_on: - gluetun
Extra tips
- Als je de foutmelding "AUTH_FAILED / Your credentials might be wrong" ziet, gebruik je vrijwel zeker het e-mailadres en wachtwoord van je Nord Account in plaats van de servicegegevens. Kopieer ze opnieuw vanaf het tabblad Diensttoegangsgegevens.
- Als het standaardprotocol
udpgeblokkeerd is op netwerken met restricties, schakel dan over naarOPENVPN_PROTOCOL=tcpen maak de container opnieuw aan. - Gluetun heeft een ingebouwde Kill Switch, dus afhankelijke containers verliezen internettoegang als de VPN-verbinding wegvalt, waardoor IP-lekken worden voorkomen. (Gebaseerd op het gedocumenteerde standaardgedrag van Gluetun; controleer de huidige wiki voor jouw versie.)