假设我有一台 Linux 计算机,运行具有以下接口的 OpenVPN 访问服务器:
wwan0-互联网接入,IP 212.179.50.50
tun0 - OpenVPN 接口,IP 172.225.25.1(服务器的 VPN IP)
eth0 - 以太网接口,连接到交换机并获取 IP 10.0.0.10(交换机的 IP 为 10.0.0.1)
我正在尝试做的事情:
- 允许客户端使用服务器的公共互联网 IP 连接到 OpenVPN 服务器(已完成)。
- 允许连接到 OpenVPN 服务器的客户端 PING 交换机(10.0.0.1)以及连接到该交换机的任何其他设备。
有什么简单的方法可以做到这一点(使用 ifconfig/iptables/etc)。
谢谢!
答案1
你不能用来ifconfig/iptables...
实现这一点,因为你需要通知客户端新的子网(10.0.0.0/24)可以通过 OpenVPN 访问:因此,你正在尝试修改路由表客户的,不属于服务器。
幸运的是,我们OpenVPN
会帮你做到这一点。只需添加以下行
push "route 10.0.0.0 255.255.255.0"
在您的服务器配置文件中,您就大功告成了。这样做的目的是push
通过隧道向客户端提供相关子网(上面的 10.0.0.0/24)的路由。无论您是否已通过 VPN 重新路由所有客户端流量,这都会起作用,这无关紧要。要使它正常工作,只需确保您已允许 IPv4(但我敢打赌您这样做了,因为您声明 OpenVPN 已经可以正常工作)并且您没有iptables
FORWARD 规则阻止访问 10.0.0.0/24 和/或 172.225.25.0/24。
附言:为什么您要为 OpenVPN 使用公共、可路由的地址?您应该使用私有、不可路由的子网,如果您愿意,可以在 172.16.0.0-172.31.255.255 范围内绘制。您使用的地址 172.225.25.1 是公共且可路由的,并且已经分配给 Akamai Technologies,请参阅这里。