如何使用 Gluetun 設定 OpenVPN 手動連線至 NordVPN?

簡介

在本文中,您將學習如何在 Gluetun Docker 容器中設定 NordVPN OpenVPN 手動連線。 Gluetun 是一個輕量級 VPN 用戶端容器,可透過 OpenVPN 將其他 Docker 容器的流量路由至 NordVPN。 大多數人會遇到的關鍵步驟是驗證:NordVPN 不再接受您用於第三方應用程式的電子郵件和密碼,因此您必須改用服務憑證。

開始之前

  • 已安裝且可正常運作的 Docker(可選安裝 Docker Compose)。
  • 您的 NordVPN 服務憑證(使用者名稱和密碼):這些並非您的 Nord 帳戶電子郵件和密碼。
  • 您想要連線的 NordVPN OpenVPN 伺服器位置 (國家、地區或城市)。

操作方式如下

步驟 1:取得服務憑證

  1. 登入 Nord 帳戶
  2. 按一下 NordVPN,然後向下捲動至「進階設定(手動設定)」,並按一下「手動設定 NordVPN」。
  3. 您將在用於 NordVPN 的電子郵件中收到驗證碼。 輸入驗證碼以確認。
  4. 開啟「服務憑證」分頁。 複製那裡顯示的使用者名稱和密碼,這些是 Gluetun 所需的值。

備註:服務憑證與您的一般 Nord Account 登入憑證不同。 如果您的連線稍後未通過驗證,請再次檢查您是否複製了正確的服務憑證。

步驟 2:建立 Gluetun 設定

在 Gluetun 中,NordVPN over OpenVPN 使用以下環境變數:

  • VPN_SERVICE_PROVIDER=nordvpn
  • VPN_TYPE=openvpn
  • OPENVPN_USER - 您的服務憑證使用者名稱
  • OPENVPN_PASSWORD - 您的服務憑證密碼
  • OPENVPN_PROTOCOL - 可選, udp (預設) 或 tcp

可選的伺服器選擇變數包括 SERVER_COUNTRIES、 SERVER_REGIONS及 SERVER_CITIES (以逗號分隔的清單)。

步驟 3:使用 Docker Compose 執行

建立一個 docker-compose.yml 檔案,如下所示:

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 (optional)
			    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

將 YOUR_SERVICE_USERNAME 和 YOUR_SERVICE_PASSWORD 替換為步驟 1 中的服務憑證,並將 SERVER_COUNTRIES 調整為您偏好的位置。

步驟 4:啟動並驗證連線

  1. 啟動容器:
  2. docker compose up -d
  3. 檢查記錄,確認隧道已啟動:
  4. docker logs -f gluetun
  5. 從容器的網路命名空間內執行 IP 檢查,確認流量是透過 NordVPN 送出:
  6. docker exec gluetun wget -qO- https://ipinfo.io/ip

    傳回的 IP 應該是 NordVPN 伺服器的 IP,而非您的真實 IP。

步驟 5:透過 Gluetun 路由其他容器

若要通過通道傳送另一個容器的流量,請將該容器設定為共享 Gluetun 的網路,並移除其自己的連接埠(改為在 Gluetun 服務上發佈):

  yourapp:
			    image: your/app-image
			    network_mode: "service:gluetun"
			    depends_on:
			      - gluetun

其他提示

  • 如果您看到「AUTH_FAILED / 您的憑證可能有誤」錯誤,那麼幾乎可以肯定的是,您使用的是 Nord 帳戶的電子郵件和密碼,而不是服務憑證。 請從「服務憑證」頁面重新複製。
  • 如果預設的 udp 通訊協定在受限的網路環境下遭到封鎖,請切換至 OPENVPN_PROTOCOL=tcp 並重新建立容器。
  • Gluetun 內建 Kill Switch,因此萬一 VPN 連線中斷,相依容器就無法存取網際網路,從而防止 IP 外洩。 (根據 Gluetun 記錄的預設行為;請在目前的 Wiki 中確認您的版本。)
本文是否有幫助?

仍遇到問題嗎?

  • 即時聊天

  • 電子郵件表格

點擊「與客服人員洽談」即表示您同意我們的服務條款,並確認已閱讀我們的隱私權政策。 聊天功能仰賴 Cookie。 開始聊天,即表示您同意使用 Cookie。 如欲進一步了解,請參閱我們的 Cookie 政策.