
在ESXI 伺服器上,我有多個虛擬機器:一個具有外部IP 位址(和互聯網存取),配置為NAT(並扮演OpenVPN 伺服器角色),以及VLAN 中的多個虛擬機器(使用192.168.182.*/ 28 IP 位址)。
我已經按照 debian 文件中的描述設定了 OpenVPN 伺服器和用戶端來存取這些 VLAN 虛擬機器。
目前我已經運行(tun)OpenVPN 伺服器和客戶端,我可以透過 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 網路的網關。