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

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

我已经能够设置我的 dd-wrt ​​路由器以连接到 openvpn 服务器并将所有流量通过 vpn 路由到互联网。

这使得从 LAN 到 Internet 的所有流量都经过路由器->vpn->互联网,这可以正常工作。

我想做的是仅通过 vpn 转发来自 LAN 中某些 IP 的流量,而不转发其他 IP。我确信有一种 iptables 方法可以做到这一点,但我还没能弄清楚。

答案1

这是一个路由问题,因此使用iptables可能不适合。这里我们将使用iproute2,幸运的是,它包含在 DD-WRT 中。

假设 1.1.1.1 是 DD-WRT 默认网关的 IP 地址(你必须弄清楚,可以通过禁用 OpenVPN 的方式,这样默认网关就会设置为正常,并发出路线-n命令查看正常之前OpenVPN 连接默认网关)。

现在设置另一个类似的路由表(我们将使用表 10):

# ip route add default via 1.1.1.1 table 10

并设置规则,以便来自 LAN 中某些 IP 的流量将使用这个新表进行路由:

# 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

您可以使用以下方法进行验证:

# ip route show table 10
# ip rule list

阅读更多这里如果您希望所有这些在重启后都能保留,请在 DD-WRT 上的启动脚本上。

相关内容