《LINUX教學(xué):Linux模擬路由器實驗》要點:
本文介紹了LINUX教學(xué):Linux模擬路由器實驗,希望對您有用。如果有疑問,可以聯(lián)系我們。
實驗?zāi)繕耍?br>將3臺主機設(shè)置成路由器
實現(xiàn)兩臺終端能夠相互通信
網(wǎng)絡(luò)結(jié)構(gòu)如下:
準備工作:
1、批量復(fù)制虛擬機文件,創(chuàng)建多個系統(tǒng),提前把mac地址修改
2、關(guān)閉防火墻
service iptables? stop? //CentOS6版本
systemctl? stop firewalld.service? //centos7版本
3、關(guān)閉selinux
setenforce 0? //關(guān)閉
getenforce? //查看
4、在三臺“路由器”上啟用路由轉(zhuǎn)發(fā)功能
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
操作過程:
第1步:配置網(wǎng)卡地址,測試直連
配置ip地址
? ? ifconfig 接口 ip地址/掩碼
? ? 或者
? ? ip addr add ip地址/掩碼? dev 接口
檢查ip配置
? ? ip add
? ? 或者
? ? ifconfig
12345678910111213 PC-A:
ifconfig eth2 10.10.1.1/24
R_x:
ifconfig eth1 10.10.1.254/24? //PC-A的網(wǎng)關(guān)
ifconfig eth2 10.10.12.1/24? ? //與R_y直連
R_y:
ifconfig eth0 10.10.12.2/24? ? //與R_x直連
ifconfig eth2 10.10.23.1/24? ? //與R_z直連
R_z:
ifconfig eth0 10.10.23.2/24? ? //與R_y直連
ifconfig eth1 10.10.2.254/24? //PC-B的網(wǎng)關(guān)
PC-B:
ifconfig eth1 10.10.1.1/24
測試直連地址使用工具:ping
如果直連不通,后續(xù)就無法操作,一定要保證ip配置正確
網(wǎng)卡的配置文件存放在下述目錄中:
/etc/sysconfig/network-scripts/
如果想要永久生效可以修改目錄中對應(yīng)的網(wǎng)卡文件
第2步:添加路由,測試
配置路由
? ? ip route add 目的網(wǎng)段/掩碼 via? 下一跳ip地址
? ? 或者
? ? route add -net 目的網(wǎng)段/掩碼 dev 本機出接口
? ? 意思就是要想到達某一網(wǎng)絡(luò),就要從本機指定接口出去,或者指定的鄰接路由器接口ip地址,而這就是下一跳
查看路由信息
? ? route -n
? ? 或者
? ? ip route
PC-A:
ip route default via 10.10.1.254? ? //主機A不管去哪里的網(wǎng)絡(luò),都會把數(shù)據(jù)包交給網(wǎng)關(guān)10.10.1.254也就是R_x
R_x:
ip route add 10.10.2.0/24 via 10.10.12.2? ?
ip route add 10.10.23.0/24 via 10.10.12.2? ? //要想到達目標網(wǎng)絡(luò),本段必須有去的路由,但是并不關(guān)心回的路由,因為那是由對端設(shè)備負責(zé)的
R_y:
ip route add 10.10.1.0/24 via 10.10.12.1
ip route add 10.10.2.0/24 via 10.10.23.2
R_z:
ip route add 10.10.1.0/24 via 10.10.23.1
ip route add 10.10.12.0/24 via 10.10.23.1
PC-B:
ip route default via 10.10.2.254
//每條路由是只負責(zé)去的路徑,由對方負責(zé)回來的路徑.對本段而言回的路由就是對端去的路由
查看各個設(shè)備的路由表
[root@PC_A ~]#ip route?
192.168.1.0/24 dev eth1? proto kernel? scope link? src 192.168.1.100? metric 1?
10.10.1.0/24 dev eth2? proto kernel? scope link? src 10.10.1.1?
default via 10.10.1.254 dev eth2? ? ? ? //主機A有一條默認路由,去往目標的數(shù)據(jù)包全部交給eth2接口
[root@R_x ~]#ip route?
10.10.23.0/24 via 10.10.12.2 dev eth2?
10.10.2.0/24 via 10.10.12.2 dev eth2? ? ? ? //路由器R_x到達目的網(wǎng)絡(luò)的路徑是10.10.12.2,也就是R_y
10.10.1.0/24 dev eth1? proto kernel? scope link? src 10.10.1.254?
10.10.12.0/24 dev eth2? proto kernel? scope link? src 10.10.12.1? //以上兩條路由是直連網(wǎng)絡(luò)
[root@R_y ~]#ip route?
10.10.23.0/24 dev eth2? proto kernel? scope link? src 10.10.23.1?
10.10.2.0/24 via 10.10.23.2 dev eth2?
10.10.1.0/24 via 10.10.12.1 dev eth0? ? ? //由于R_y是3臺路由器的中間一臺,所以需要配置到兩端的路由,因此下一跳也不一樣
10.10.12.0/24 dev eth0? proto kernel? scope link? src 10.10.12.2
[root@R_z ~]#ip route?
10.10.23.0/24 dev eth0? proto kernel? scope link? src 10.10.23.2?
10.10.2.0/24 dev eth1? proto kernel? scope link? src 10.10.2.254?
10.10.1.0/24 via 10.10.23.1 dev eth0?
10.10.12.0/24 via 10.10.23.1 dev eth0? ? //至此經(jīng)過的路由器有三個了,到達目的網(wǎng)絡(luò)網(wǎng)關(guān)
[root@PC-B ~]#ip route
default via 10.10.2.254 dev eth1? ? ? //到達目的主機B
10.10.2.0/24 dev eth1? proto kernel? scope link? src 10.10.2.1?
192.168.2.0/24 dev eth0? proto kernel? scope link? src 192.168.2.100?
192.168.122.0/24 dev virbr0? proto kernel? scope link? src 192.168.122.1
出現(xiàn)的192.168.x.x網(wǎng)絡(luò)可以忽略
測試:
配置沒問題的話,到這一步PC-A就能夠ping通PC-B
[root@PC_A ~]#ping -c 5 10.10.2.1
PING 10.10.2.1 (10.10.2.1) 56(84) bytes of data.
64 bytes from 10.10.2.1: icmp_seq=1 ttl=61 time=0.752 ms? ? //ttl之所以是61,是經(jīng)過3個路由器R_x、R_y、R_z,ttl值原是64,經(jīng)過1個路由器減一
64 bytes from 10.10.2.1: icmp_seq=2 ttl=61 time=0.983 ms
64 bytes from 10.10.2.1: icmp_seq=3 ttl=61 time=1.74 ms
64 bytes from 10.10.2.1: icmp_seq=4 ttl=61 time=2.12 ms
64 bytes from 10.10.2.1: icmp_seq=5 ttl=61 time=1.34 ms
--- 10.10.2.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 0.752/1.389/2.123/0.498 ms
下面是在PC-A上traceroute到PC-B的路徑
[root@PC_A ~]#traceroute 10.10.2.1
traceroute to 10.10.2.1 (10.10.2.1), 30 hops max, 60 byte packets
?1? 10.10.1.254 (10.10.1.254)? 0.195 ms? 0.066 ms? 0.051 ms? //先到網(wǎng)關(guān)R_x
?2? 10.10.12.2 (10.10.12.2)? 0.816 ms? 0.795 ms? 0.764 ms? //再到R_y
?3? 10.10.23.2 (10.10.23.2)? 0.730 ms? 0.701 ms? 0.670 ms? //然后到達R_z
?4? 10.10.2.1 (10.10.2.1)? 0.920 ms? 0.893 ms? 0.862 ms? //最后到達PC-B
//能到PC-B說明已經(jīng)通了,如果在PC-B上traceroute得到的結(jié)果正好與此相反
拓展:
在R_x和R_z兩臺路由器上,由于他們的下一跳ip地址都是指向鄰接路由器,所以可以考慮把他們的兩條合并成一條默認路由.從而減少路由條目
?
《LINUX教學(xué):Linux模擬路由器實驗》是否對您有啟發(fā),歡迎查看更多與《LINUX教學(xué):Linux模擬路由器實驗》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/7065.html