我正在努力设置 OpenVPN。
client
=> vpn-server
=>东西internet
正在工作,
但我无法掌握server2
=> vpn-server
=> client
。
我已经设置好路由并开始工作,因此我可以ping
从server2
到tun1
开始vpn-server
。
# ping 10.0.1.1
PING 10.0.1.1 (10.0.1.1) 56(84) bytes of data.
64 bytes from 10.0.1.1: icmp_seq=1 ttl=64 time=0.182 ms
64 bytes from 10.0.1.1: icmp_seq=2 ttl=64 time=0.224 ms
但不再进一步。A
从traceroute
也server2
停止于vpn-server
。
# traceroute -n 192.168.1.39
traceroute to 192.168.1.39 (192.168.1.39), 30 hops max, 60 byte packets
1 x.y.z.137 0.176 ms 0.376 ms 0.526 ms
2 * * *
3 * * *
ip 转发: 查看
# cat /proc/sys/net/ipv4/ip_forward
1
VPN 服务器:防火墙
echo "# Set rules for OpenVPN"
$IPT -A INPUT -i tun+ -j ACCEPT
$IPT -A OUTPUT -o tun+ -j ACCEPT
$IPT -A FORWARD -i tun+ -j ACCEPT
$IPT -A FORWARD -o tun+ -j ACCEPT
$IPT -A FORWARD -s -j ACCEPT
$IPT -A INPUT -p tcp --destination-port 1194 -j ACCEPT
$IPT -A INPUT -p udp --destination-port 1194 -j ACCEPT
iptables -A FORWARD -s x.y.z.128/26 -d 10.0.1.0/24 -o tun+ -j ACCEPT
iptables -A FORWARD -s x.y.z.128/26 -d 192.168.1.0/24 -o tun+ -j ACCEPT
$IPT -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j MASQUERADE
这可能是防火墙的问题iptables
,但我已经盯着它看了很久,没看出哪里漏了什么。
答案1
虽然可能存在很多原因,但客户端可能会将响应包路由到某个地方,即不是VPN 隧道。我假设如此,因为
- 你没有写任何关于客户端路由的内容,
- 您没有在 server2 和客户端之间使用 SNAT/DNAT/MASQUERADE。
需要上述之一,并且假设您不使用 NAT,您需要将路由条目推送到客户端,这会将网络服务器 2 的路由“拉”到 VPN 隧道。