服务器上的 OpenVPN tun0 路由

服务器上的 OpenVPN tun0 路由

我有一个 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以启用规则。

相关内容