OpenVPN サーバーの背後にある LAN 内のコンピューターにアクセスできないのはなぜですか?

OpenVPN サーバーの背後にある LAN 内のコンピューターにアクセスできないのはなぜですか?

ESXI サーバーには複数の VM があります。1 つは外部 IP アドレス (およびインターネット アクセス) を持ち、NAT として構成され (OpenVPN サーバーの役割を果たします)、もう 1 つは VLAN 内の複数の VM (192.168.182.*/28 IP アドレスを使用) です。

これらの VLAN 仮想マシンにアクセスするために、Debian ドキュメントの説明に従って OpenVPN サーバーとクライアントをセットアップしました。

現在、OpenVPN サーバーとクライアント (tun) を実行しており、tun0 インターフェイスを介して相互に ping を実行できます。

問題は、ESXI VLAN にある OpenVPN クライアント マシンから ping できないことです。これを修正する方法を教えていただけますか?

OpenVPN クライアント ルーティング テーブル:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         88.198.179.46   0.0.0.0         UG    0      0        0 eth0
10.9.8.1        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
88.198.179.40   0.0.0.0         255.255.255.248 U     0      0        0 eth0

OpenVPN サーバー ルーティング テーブル:

default         static.193.120. 0.0.0.0         UG    0      0        0 eth0
10.9.8.2        *               255.255.255.255 UH    0      0        0 tun0
46.4.120.192    *               255.255.255.224 U     0      0        0 eth0
192.168.182.16  *               255.255.255.240 U     0      0        0 eth1

私の理解では、OpenVPN サーバー上のパケットを 192.168.182.*/28 VLAN にルーティングする必要があります。

次のコマンドを使用して IPv4 転送を有効にしました: echo "1" > /proc/sys/net/ipv4/ip_forward

Iptables に次のルールを追加しました (88.198.179.41/29 はクライアント IP/サブネット) が、効果はありませんでした。

*nat
-A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 46.4.120.218
COMMIT

*filter
-A FORWARD -s 192.168.182.0/24 -d 88.198.179.41/29 -j ACCEPT
-A FORWARD -d 192.168.182.0/24 -s 88.198.179.41/29 -j ACCEPT
COMMIT

おそらく、VPNClient で何らかのルートを定義する必要がありますか?

答え1

openvpn の設定を投稿していませんが、LAN の残りの部分へのルートが欠落しているのではないかと思います。

push "route 192.168.182.0 255.255.255.240"

これにより、クライアントが接続するときに必要なルートが追加されます。また、LAN 上の他のクライアントが OpenVPN ネットワークのゲートウェイとして OpenVPN サーバーを使用することを認識していることを確認してください。

関連情報