為什麼我無法存取 OpenVPN 伺服器後面 LAN 中的電腦?

為什麼我無法存取 OpenVPN 伺服器後面 LAN 中的電腦?

在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 網路的網關。

相關內容