我在2个不同的位置设置了2个VPN服务器(A运行strongswan作为服务器,openvpn作为客户端;B运行openvpn作为服务器),并且A和B通过openvpn链接。我想要做的是让A通过A和B之间建立的openvpn隧道将所有客户端流量路由到端口443和80。
我添加了一个路由表,它将所有标记的流量 ( -t mangle PREROUTING -p tcp -m tcp --dport 443 -j MARK --set-xmark 0x2/0xffffffff
) 路由到 openvpn 隧道
tcpdump
我可以看到标记的流量已使用( )成功路由到隧道,tcpdump -i tun0
但只有传出流量而没有传入流量。
希望有人能帮助我解决这个问题。谢谢你!
答案1
这里的问题是,虽然 A 的客户端(我们称之为 X、Y、Z)可以通过 VPN 链路路由到 B,但没有从 B 返回到客户端 X、Y、Z 的路由。
如果没有具体细节,很难提供准确的解决方案。不过,请考虑这个例子:
- 您的客户端位于子网 192.168.1.0/24 中
- 服务器 A 的 OpenVPN 链路末端为 192.168.2.1
- 服务器 B 的 OpenVPN 链路末端为 192.168.2.2
在 B 上,您需要添加一条经由 A 到 192.168.1.0/24 的路由:
route add -net 192.168.1.0/24 gw 192.168.2.1