使用DD-WRT连接到VPN,通过VPN转发某些设备的所有stream量

我已经能够设置我的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的启动脚本上阅读更多信息 ,如果你想在重新启动的时候保持所有这些。