我有一个 OpenVPN tun0 10.8.0.0 255.255.255.0
服务器eth1上有一个接口为192.168.0.0 255.255.255.0
我想要路由 OpenVPN 连接以访问 192.168.0.0 网络。
我可以从客户端连接到 VPN,我获得了 10.8.0.6 的 IP,但在服务器上它不会将流量从 tun0 路由到 eth1。当我对 192.168.0.1 进行 tracerout 时,它显示向 10.8.0.1 发出,但就在那里停止了。
如果我尝试从 tun0 ping 服务器上的 192.168.0.1,则不会得到任何响应。ping 192.168.0.1 -I tun0
有人能帮我吗?我需要在服务器上添加什么才能使路由和 NAT 正常工作?
谢谢!
答案1
看来您需要更新配置的两个部分。
从服务器配置文件推送路由,只需添加以下行
push "route 192.168.0.0 255.255.255.0 10.8.0.1"
然后您需要对来自 10.8.0.0 的所有流量进行 NAT,这样 192.168.0.0 上的设备就会知道将数据包路由回 VPN 客户端的位置。只需在您的服务器上运行此命令即可。
iptables -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
另外,通过注释掉net.ipv4.ip_forward=1
文件中的行,仔细检查服务器上是否已启用 IP 转发/etc/sysctl.conf
。然后运行命令sysctl -p
以启用规则。