實驗:實現三個路由器與兩個主機互通
拓撲圖:
路由表配置圖:
實現原理:R1配置路由器,是A訪問B的過程,A主機和R1路由器1接口為直連,然后從R1本機的2接口出去,在R1上添加相鄰路由器R2的3接口Ip地址作為網關,同理,在R1上添加R2路由器3接口(IP地址作為網關)和B主機(172.18.0.0)的網段。
R2路由器同理,左側出去的是3接口,在R2上添加相鄰的R1路由器接口IP地址(2接口)就是網關,從右側出去(4接口),在R2上添加R3路由器的5接口IP地址作為網關。
R3路由器同理,B主機與R3路由器的6接口直連,不需要網關,R3出去的5接口與10.100.0.0在同一個網段,不需要網關,R3的5接口出去,在R3上添加相鄰的R2路由器4接口Ip地址作為網關;再將192.168.34.0網段添加網關(即為R2路由器4接口的IP地址),出口為R3的5接口。
在A主機上配置IP地址和網關:
將主機A的網絡與路由器R1的1接口在同一個物理網絡上:
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.34.100 GATEWAY=192.168.34.200 PREFIX=24 DNS1=114.114.114.114
配置R1路由器
R1的1接口與A主機在一個物理網段
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.34.200 # IP地址改為A主機的網關地址 PREFIX=24 DNS1=114.114.114.114
配置R1的2接口IP地址,2接口和A主機不在一個物理網段,但是路由器工作在內核中,只要有一個接口可以通,另外的一個跨網段的接口也可以通。
cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static IPADDR=10.0.0.1 PREFIX=8 DNS1=114.114.114.114
配置R2路由器
R2的3接口路由器要與R1的2接口路由器在同一個網段
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=10.0.0.1 PREFIX=8 DNS1=114.114.114.114
配置R2的4接口路由器
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=10.100.0.100 PREFIX=16 DNS1=114.114.114.114
配置R3路由器
配置R3的5接口,要與R2的4接口在一個網段
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=10.100.0.200 PREFIX=16 DNS1=114.114.114.114
配置R3的6接口,IP地址為B主機的網關地址
cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static IPADDR=172.18.0.200# IP地址改為B主機的網關地址 PREFIX=16 DNS1=114.114.114.114
配置B主機IP和網關
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=172.18.0.100 GATEWAY=172.18.0.200 PREFIX=16 DNS1=114.114.114.114
在R1路由器上添加路由規則
# route add -net 10.100.0.0/16 gw 10.0.0.2 # route add -net 172.18.0.0/16 gw 10.0.0.2
在R2路由器上添加路由規則
# route add -net 192.168.34.0/24 gw 10.0.0.1 # route add -net 172.18.0.0/16 gw 10.100.0.200
在R3路由器上添加路由規則
# route add -net 10.0.0.0/8 gw 10.100.0.100 # route add -net 192.168.34.0/24 gw 10.100.0.100
在R1/R2/R3路由器上開啟路由功能
# vim /etc/sysctl.conf # 修改到配置文件中 net.ipv4.ip_forward=1 # sysctl -p # 使路由配置生效
測試效果:
可以看到,此時A主機可以訪問到B主機,B主機也可以訪問A主機。