搭建静态路由
1. 制定模拟环境
两台主机作为客户端,三台主机作为路由器。
A主机:eth0 NAT模式
R1主机:eth0 NAT模式,eth1 仅主机模式
R2主机:eth1 仅主机模式,eth2 仅主机模式
R3主机:eth0 桥接模式,eth2 仅主机模式
B主机:eth0 桥接模式
2. 已知A主机的IP为10.0.0.123/8,B主机的IP为172.16.0.123/16。如果连通这两个主机需要三个路由器,那么这三个路由器该如何配置。
我们知道如果想从A到达B,那么A主机则必须具有达到A与B之间每一个路由的路径。
如图1-1中A主机需要配备L1路径、L2路径、L3路径。事实情况下我们作为A主机用户不可能知道我们的下下跳网关到底是多少,因此也造成这种方法是不可行的。
而路由器就能解决这一问题,在路由器的网关1接受到一个同网段的广播时,网关2会自动发送网关2同网段的广播。所以我们从A主机到达B主机,只需要在A、R1、R2、R3、B上设置相互间直连的路由表即可。
图 1-1
3. 每台主机的具体配置
配置A主机
ifconfig eth0 10.0.0.123/8
route add -net 10.0.0.0/8 dev eth0
route add default gw 10.0.0.200 dev eth0
配置R1
ifconfig eth0 10.0.0.200/8
ifconfig eth1 192.168.0.200/24
route add -net 10.0.0.0/8 dev eth0
route add -net 192.168.0.0/24 dev eth1
route add -net 192.168.0.0/16 gw 192.168.0.201 dev eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
配置R2
ifconfig eth1 192.168.0.201/24
ifconfig eth2 192.168.0.100/16
route add -net 192.168.0.0/24 dev eth1
route add -net 192.168.0.0/16 dev eth2
route add -net 172.16.0.0/16 gw 192.168.0.101 dev eth2
route add -net 10.0.0.0/8 gw 10.0.0.200 dev eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
配置R3
ifconfig eth2 192.168.0.101/16
ifconfig eth0 172.16.0.200/16
route add -net 192.168.0.0/16 dev eth2
route add -net 172.16.0.0/16 dev eth0
route add -net 10.0.0.0/8 gw 10.0.0.200 dev eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
配置B主机
ifconfig eth0 172.16.0.123/16
route add -net 172.16.0.0/16 dev eth0
route add default gw 172.16.0.200 dev eth0