
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 サーバーを使用することを認識していることを確認してください。