我已经能够设置我的dd-wrt路由器来连接到openvpn服务器,并通过vpn将所有stream量路由到互联网。
这使得从局域网到互联网的所有stream量都通过路由器 – > VPN – >互联网,这工作正常。
我想要做的只是通过vpn转发来自局域网中某些ip的stream量,而不是其他stream量。 我确信有一个iptables的方式做到这一点,但我一直无法弄清楚。
这是一个路由问题,所以使用iptables可能不适合。 在这里,我们将使用iproute2 ,幸运的是,它包含在DD-WRT中。
假设1.1.1.1是DD-WRT的默认网关的IP地址(你必须弄清楚,可以通过禁用OpenVPN的方式,使默认网关设置为正常,并发出一个route -n命令来看到正常 – 在OpenVPN获取连接的默认网关之前)。
现在build立另一个类似的路由表(我们将使用表10):
# ip route add default via 1.1.1.1 table 10
并设置规则,以便来自局域网中某些IP的stream量将使用此新表进行路由:
# ip rule add from 192.168.0.0/24 table 10
或来自个别IP:
# ip rule add from 192.168.0.3/32 table 10 # ip rule add from 192.168.0.5/32 table 10
您可以validation:
# ip route show table 10 # ip rule list
在DD-WRT的启动脚本上阅读更多信息 ,如果你想在重新启动的时候保持所有这些。