我的networking上有2个互联网连接。 我的路由器正在运行Debian。 eth0是我的networking(192.168.0.0/16)。 eth1和eth2连接到2个不同的互联网提供商(dynamicIP)。
这是我的configuration的一个小图
PC1 --- | | -eth1- DynIP提供者1 PC2 --- | -eth0-路由器--- | PCn --- | | -eth2- DynIP提供者2
我想configuration它如下:我希望所有的数据包默认通过eth1去。 所有来自地址为192.168.2.0/24的PC的数据包通过eth2传送。
在寻找一段时间后,在其他论坛上发布我已经有以下(在我的rc.local文件):
echo“1”> / proc / sys / net / ipv4 / ip_forward iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -i eth2 -j ACCEPT
与路由表:
内核IP路由表 目标网关Genmask标志度量参考使用Iface 10.0.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 172.16.1.50 0.0.0.0 UG 0 0 0 eth1 0.0.0.0 10.0.4.2 0.0.0.0 UG 0 0 0 eth2 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
我尝试玩route和ip route但我找不到它的工作…
路由决策基于目标地址。 如果要根据源地址路由stream量,则需要configuration基于策略的路由。 看一下:
http://www.linuxhorizon.ro/iproute2.html
几周前我回答了这些类似的问题:
如何通过协议路由不同的接口(路由)不同的stream量?
使用iptables通过特定的接口转发指向特定ip的stream量