我有一个运行Ubuntu10.04的Linux,它有三个接口:eth0、eth1和eth2。我计划使用它作为广域网路由器,供两个不同的ISP分配的4个公共子网使用。以下是子网(我已将已分配的ISP子网转换为C类专用子网):
ISP 1
WAN 192.168.0.176/30 gateway 192.168.0.177
LAN 192.168.3.192/29
ISP 2
WAN 192.168.6.208/30 gateway 192.168.6.209
LAN 192.168.9.216/29/30子网面临着相应的ISP和/29子网面对我的局域网交换机。
这就是is分配给接口的方式:
LAN interface
eth0 192.168.3.193/29
eth0:0 192.168.9.217/29
ISP 1 interface
eth1 192.168.0.178/30
ISP 2 interface
eth2 192.168.6.210/30我想在各自的ISP分配的/30和/29子网之间分别路由通信量。如果流量来自一个ISP的/30网络,它应该被路由到ISP /29网络,而visa反过来。我不介意来自一个ISP的/29网络的流量是否被发送到另一个ISP的/29网络,是否在我的路由器中路由(没有发送到一个ISP并返回另一个ISP的链接)。
我的目标是不为两个ISP购买两个路由器。如何通过使用iproute2表和策略路由来实现这一点?
发布于 2012-04-11 21:15:46
首先,为每个ISP创建一个路由表(只完成一次):
echo "11 isp1" >> /etc/iproute2/rt_tables
echo "12 isp2" >> /etc/iproute2/rt_tables然后向指向相应网关的每个表添加默认路由:
ip route add default via 192.168.0.177 table isp1
ip route add default via 192.168.6.209 table isp2然后根据源地址向这些表添加发送通信量的规则:
ip rule add from 192.168.3.192/29 table isp1
ip rule add from 192.168.0.176/30 table isp1
ip rule add from 192.168.9.216/29 table isp2
ip rule add from 192.168.6.208/30 table isp2https://serverfault.com/questions/377062
复制相似问题