Linux

客戶端只能訪問託管 OpenVPN 的伺服器,不能訪問伺服器子網

  • May 13, 2018

我的 Linux 伺服器(RoadWarrior 配置)上的 OpenVPN 隧道有一個特殊問題。我可以在我的 Mac 上使用 Tunnelblick 3.0 完美登錄,我可以訪問託管 OpenVPN 守護程序的伺服器上的所有服務,但是,我無法訪問伺服器子網上的任何其他機器。

我正在將路由推送到客戶端,並且netstat -rn顯示該路由存在。

我的客戶端配置如下

port 500
dev tun
remote {secret} 

tls-client
ca ca.crt
cert client.crt
key client.key

comp-lzo

pull

verb 4

並且伺服器的配置如下

port 500
dev tun

local 10.81.0.2

tls-server 
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem

mode server

ifconfig 10.84.0.1 10.84.0.2
ifconfig-pool 10.84.0.4 10.84.0.255

route 10.84.0.0 255.255.255.0

push "route 10.84.0.1 255.255.255.255"
push "route 10.81.0.0 255.255.255.0"

comp-lzo

keepalive 10 60
inactive 600

user vpndaemon
group vpndaemon

persist-tun
persist-key

verb 4

我找不到任何明顯的錯誤,並且我還驗證了客戶端沒有 IP 衝突。

非常感謝任何提示或想法!

您可能需要設置防火牆來為您的 VPN IP 地址執行 MASQ。

-A POSTROUTING -s 10.84.0.0/255.255.255.0 -o eth0 -j MASQUERADE

在您的 iptables 配置中應該可以解決問題。

好的,所以我將其粘貼為評論,但我不能這樣:

@GruffTech 給出的命令對我不起作用,但這個命令確實

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

引用自:https://serverfault.com/questions/172038