はじめに
この記事では、Gluetun Dockerコンテナ内でNordVPN OpenVPNの手動接続を構成する方法について説明します。 Gluetunは軽量のVPNクライアントコンテナで、他のDockerコンテナのトラフィックをNordVPN経由でOpenVPNを介してルーティングします。 ほとんどの人が苦労する重要なステップは認証です。NordVPNはサードパーティアプリのメールアドレスとパスワードを受け付けなくなったため、代わりにサービス認証情報を使用する必要があります。
始める前に
- 動作するDocker(およびオプションでDocker Compose)のインストール。
- NordVPNサービスの認証情報(ユーザー名とパスワード)。これは、Nordアカウントのメールアドレスとパスワードではありません。
- 接続するNordVPN OpenVPNサーバーの場所(国、地域、または都市)。
手順は次のとおりです。
ステップ1:サービス認証情報を取得
- Nordアカウントにログインします。
- NordVPNをクリックし、詳細設定(手動設定)まで下にスクロールして、NordVPNを手動で設定をクリックします。
- NordVPNに使用するメールアドレスに認証コードが表示されます。 コードを入力して確認します。
- サービス認証情報タブを開きます。 そこに表示されているユーザー名とパスワードをコピーしてください。これらはGluetunに必要な値です。
注意:サービス認証情報は、通常のNordアカウントのログイン情報とは異なります。 後で接続の認証に失敗した場合は、正しいサービス認証情報をコピーしたかどうかを再確認してください。
ステップ2:Gluetunの設定を作成
Gluetunでは、NordVPN over OpenVPNは次の環境変数を使用します。
VPN_SERVICE_PROVIDER=nordvpnVPN_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:接続を開始して確認する
- コンテナを起動します。
- ログをチェックして、トンネルが起動したことを確認します。
- コンテナのネットワークネームスペース内からIPチェックを実行して、トラフィックがNordVPNを介して送信されていることを確認します。
docker compose up -d
docker logs -f gluetun
docker exec gluetun wget -qO- https://ipinfo.io/ip
返されたIPは、実際のIPアドレスではなく、NordVPNサーバーのIPアドレスである必要があります。
ステップ5:他のコンテナをGluetun経由でルーティングする
別のコンテナのトラフィックをトンネル経由で送信するには、そのコンテナをGluetunのネットワークを共有するように設定し、そのコンテナのポートを削除します(代わりにGluetunサービスで公開します)。
yourapp: image: your/app-image network_mode: "service:gluetun" depends_on: - gluetun
その他のヒント
- 「AUTH_FAILED / Your credentials might be wrong」というエラーが表示された場合、サービスの認証情報ではなく、Nordアカウントのメールアドレスとパスワードを使用している可能性が高いです。 サービス認証情報タブからそれらを再コピーしてください。
- 制限されたネットワークでデフォルトの
udpプロトコルがブロックされている場合は、OPENVPN_PROTOCOL=tcpに切り替えて、コンテナを再作成してください。 - GluetunにはKill Switchが組み込まれているため、VPNが切断された場合、依存するコンテナはインターネットアクセスを失い、IP漏えいを防ぎます。 (Gluetunの文書化されたデフォルトの動作に基づいています。お使いのバージョンについては、最新のWikiで確認してください。)