想像する
VPN経由でチームをリモートサーバーに接続したいです。このVPNは、以下に説明するように、リモートサーバー上のいくつかの規則に従う必要があります。私はすでにOpenVPNを設定していますが、他のVPNソリューションを試してみたいと思います。
以下を介してリモートサーバーに接続します。ノートブック - > VPNクライアント(粘度) - > Google CloudのVMで実行されているOpenVPNサーバー - > Google Cloud VPN - > IKEv2を使用してリモートゲートウェイに接続するIPSec - >リモートサーバー
仮想マシンは、内部IP範囲が172.25.165.0/26で、ゲートウェイが172.25.165.1のGoogle Cloudの仮想プライベートクラウドで実行されます。
リモートサーバーはローカルIP範囲172.23.133.0/24(172.23.133.1)にあり、そのゲートウェイには172.25.165.0/26範囲のIPを介して接続する必要があるルールセットがあります。
私のVPNクライアントは通常、接続後に172.25.165.5を割り当てます。
Cloud VPN には次のトンネル設定があります。 VPNトンネル内部IPスタックタイプIPv4マルチプロトコルBGP無効IPv6通知IP範囲172.23.133.0/24ローカルサブネットlネットワーク172.25.165.0/26
Google Cloud のルートは次のように表示されます。
名前 | 説明する | 宛先IP範囲 | 優先順位 | ネクストホップ |
---|---|---|---|---|
基本パス1 | インターネットへのデフォルトパス | 0.0.0.0/0 | 1000 | VPNトンネル |
基本パス-1b | サブネットへのデフォルトのローカルパス | 172.25.165.0/26 | 0 | VPN |
トンネル-2-パス-1 | 172.23.133.0/24 | 1000 | VPNトンネル |
ファイアウォールは、これらのパスに対するすべての受信と送信を許可するように設定されています。
VMのIP転送がオンになっています。
OpenVPNの設定
local 172.25.165.2
port 1194
proto tcp-server
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
mode server
tls-server
topology subnet
push "topology subnet"
ifconfig 172.25.165.3 255.255.255.0
ifconfig-pool 172.25.165.5 172.25.165.200 255.255.255.0
route-gateway 172.25.165.2
push "route-gateway 172.25.165.2"
push "route 172.25.165.5 255.255.255.0 172.23.133.17"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
log /var/log/openvpn/openvpn.log
ノート
VMにsshを接続すると、リモートサーバーに正常に接続できます。 sshuttleを使用して、ラップトップからVMを介してトラフィックを正常にトンネリングすることもできます。 VM経由でリモートサーバーに接続することもできます。 VM経由でリモートサーバーをpingすることもできます。
ローカルクライアント(ViscosityまたはOpenVPNクライアント)を使用してOpenVPNサーバーに正常に接続できます。
ただし、VPNに接続した後、リモートサーバーに正常に接続できません。 VPNがリモートサーバーにpingしようとすると、「ネットワークに接続できません」というメッセージが表示されます。
サーバーの OpenVPN ログには関係ありません。
私はOpenVPNサーバー構成の変更とクライアント構成の変更をさまざまに組み合わせて試しましたが、成功しませんでした。また、VMに直接パスを追加してみました。また、OpenVPN経由でサーバーへのアクセスを開こうとしましたが、失敗し、結果として同じ問題が発生しました。私は3日以上この作業を行ってきましたが、OpenVPNに関するできるだけ多くのドキュメントとOpenVPNに関する多くのStackExchangeの質問を読みましたが、答えが見つかりませんでした。ほとんどの既存の答えは、ファイアウォールやルーティングを問題として指摘しているようです。ファイアウォールログにブロックされたイベントが表示されないため(そしてこれらのすべての範囲で公開されるように設定されているため)、OpenVPN設定でトラフィックをルーティングしようとしたときに何かが間違っていると仮定します。このシナリオで動作するようにVM、ネットワーク、および構成をどのように設定しますか?