![将 vpn 服务器流量转发到另一台服务器](https://linux22.com/image/722267/%E5%B0%86%20vpn%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B5%81%E9%87%8F%E8%BD%AC%E5%8F%91%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在两个不同位置设置了两个 VPN 服务器 [ A:openvpn 服务器(ubuntu),B:PPTP 服务器-RouterOS Mikrotik ]
我想要做的是让 A 将所有客户端流量路由到 A 和 B 之间建立的 pptp 隧道:
客户端 <=> 服务器 A <=> 服务器 B
OpenVPN 客户端子网为:20.30.0.0/24
服务器B ppp0 ip为:172.31.0.251
我这样做:ip route add 20.30.0.0/24 dev ppp0
当我运行 tcpdump -i ppp0 时,我看到了一些问题,所以看起来 A 和 B 之间的连接正常,但是当连接到 openvpn 服务器时,客户端无法访问互联网
希望有人能帮助我。谢谢
答案1
如果我理解正确的话,您需要对 Ubuntu 服务器上的流量进行 NAT,此外,如果您没有这样做,则必须启用 IP 转发。
连接 VPN 后尝试以下操作:
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 20.30.0.0/24 -o ppp0 -j MASQUERADE
另外需要注意的是,网络 20.30.0.0/24 不应是私有网络。请参阅https://en.wikipedia.org/wiki/Private_network#Private_IPv4_address_spaces
希望能帮助到你。