您好,登錄后才能下訂單哦!
Linux之網(wǎng)絡(luò)管理(3)靜態(tài)路由小案例
在日常網(wǎng)絡(luò)中,總有有這么一種情況,在只有很少的路由器、交換機鏈接起來的網(wǎng)絡(luò)會產(chǎn)生很多不同的網(wǎng)段,但是各個接口又不是都指向同一個,至少在一個線路而已,類似于各個公司部門的網(wǎng)段不同,但連在一起,因此產(chǎn)生了各個主機的網(wǎng)段不同。為了解決這種問題,可以對某些連在中間的主機模擬成路由器,來實現(xiàn)不同網(wǎng)段ip主機通信。
模擬測試:
這里模擬3個主機設(shè)備來進程跨網(wǎng)點組網(wǎng)
準(zhǔn)備工作:
1、使用vm虛擬機模擬3個主機的linux系統(tǒng)環(huán)境,這里我準(zhǔn)備了3個主機,這里標(biāo)記3個主機分別為lab1、lab2、lab4
2、規(guī)劃好一些私有網(wǎng)絡(luò)、ip來使用
3、3個主機的網(wǎng)卡連接模式必須相同,這里因為物理主機只有2塊網(wǎng)卡,且只有2個網(wǎng)關(guān),因此要使用多網(wǎng)關(guān)這里我設(shè)置3個虛擬LAN區(qū)域:xx、yy、zz
4、規(guī)劃網(wǎng)絡(luò)ip
5、測試主機的網(wǎng)卡設(shè)備是否能正常使用
LAN區(qū)域網(wǎng)段介紹:
xx網(wǎng)段:10.0.0.0/8 網(wǎng)段
yy網(wǎng)段:172.0.0.0/16 網(wǎng)段
zz網(wǎng)段:192.168.0.0/24 網(wǎng)段
主機網(wǎng)卡網(wǎng)段分配:
LAN 主機 使用網(wǎng)卡 IP地址
xx : lab1 eth0 10.0.0.10
lab2 eth2 10.0.0.20
yy : lab2 eth3 172.0.0.10
lab4 eth0 172.0.0.20
zz : lab4 eth2 192.168.0.10
試驗階段:
查看各個網(wǎng)卡ip
Lab1 eth0
Lab2 eth2
Lab2 eth3
Lab4 eth0
Lab4 eth2
規(guī)法網(wǎng)關(guān)路由:
因為只有3個LAN區(qū)域,所以網(wǎng)段為固定,這里可以直接給lab1 設(shè)置一條默認(rèn)路由
設(shè)置lab1主機的eth0網(wǎng)卡:
1、測試同一網(wǎng)絡(luò):
lab1 訪問 lab2 在xx網(wǎng)絡(luò)的接口 10.0.0.10 --> 10.0.0.20
2、設(shè)置lab1網(wǎng)關(guān)
1、使用ip命令添加默認(rèn)網(wǎng)關(guān):
ip roue add default via 10.0.0.20 dev eth0
解析:其中default表示默認(rèn),也就是0.0.0.0網(wǎng)絡(luò),via表示下一條的地址,dev指明為哪個網(wǎng)卡設(shè)備配置,因為lab1在xx網(wǎng)絡(luò),只有一個eth0網(wǎng)卡,而lab2其中的eth2網(wǎng)卡也在xx網(wǎng)絡(luò)并在同一網(wǎng)段,因此,兩種直接可以ping通,但是想要訪問lab2其中的eth3網(wǎng)卡,也就是yy網(wǎng)絡(luò),就需要將數(shù)據(jù)給lab2的eth2網(wǎng)卡,然后由lab2來轉(zhuǎn)發(fā)數(shù)據(jù)。
2、查看lab1主機的route表
ip route show
解析:這里最后一行顯示了剛才添加的默認(rèn)路由條目
3、下面測試lab1的eth0接口能不能通過lab2的eth2去訪問eth3(172.0.0.10)
解析:能ping通表示已經(jīng)可以訪問了
設(shè)置lab2主機的網(wǎng)卡:
1、測試網(wǎng)絡(luò)
#下面重啟lab2網(wǎng)絡(luò)進程測試
說明:這里啟動失敗,是因為此網(wǎng)絡(luò)服務(wù)的進程與NetworkManager服務(wù)進程發(fā)送沖突,這里我們查看NetworkManager是否正在運行:
#下面查看lab2NM服務(wù)進程
service NetworkManager status
#這樣已經(jīng)發(fā)現(xiàn)NM服務(wù)真的已經(jīng)啟動了,下面關(guān)閉此服務(wù):
service NetworkManager stop
#lab2再次開啟network 服務(wù)
解析:這里顯示eth2和eth3重新獲取了ip地址,當(dāng)然還是剛才的配置下面測試ping
#ping名稱測試通信(lab2測試)
1、Lab2 去訪問 lab1 的eth0網(wǎng)卡
2、Lab2去訪問lab4 的eth0網(wǎng)卡
3 、Lab2去訪問lab4 的eth2網(wǎng)卡
解析:這里為什么ping不同,因為lab2沒有設(shè)置通往192.168.0.0的網(wǎng)絡(luò),也就是zz網(wǎng)絡(luò),而能訪問lab4的eth0,是因為lalb2的eth2和其在同一個網(wǎng)絡(luò)(yy)網(wǎng)絡(luò)172.0.0.0網(wǎng)段,所以這里要進行對lab2的eth3設(shè)置一個網(wǎng)關(guān)。
2、設(shè)置網(wǎng)關(guān)
#給lab2的eth3添加一個能訪問192.168.0.0網(wǎng)段的route條目
ip route add 192.168.0.0/24 via 172.0.0.20 dev eth3
解析:這里同樣和添加lab1的默認(rèn)路由類似,而lab1需要將數(shù)據(jù)傳給通網(wǎng)段的lab2的eth2接口,所以,lab2要想訪問lab4 的192.168.0.0網(wǎng)段,就要將數(shù)據(jù)給與lab4網(wǎng)絡(luò)接口相連的接口,也就是lab2 的eth3接口,而 172.0.0.20是 lab4的eth0接口,然后建立訪問。
#查看lab2的路由表,確認(rèn)添加成功
ip route show
說明:第二行以及顯示了新增加的路由,下面測試訪問lab4的eth2接口
3、再次訪問測試
lab2測試
#lab2訪問192.168.0.0網(wǎng)段
解析:同樣也能ping通,那么我們下面想一下,lab1是不是可以訪問lab2而去間接訪問lab4呢,下面測試一下:
lab1測試
#lab1訪問 lab4 eth0 172.0.0.20
解析:看來不能通過此來訪問,這里網(wǎng)關(guān)雖然設(shè)置好,但是linux內(nèi)核內(nèi)部默認(rèn)是不會講lab1的數(shù)據(jù)包通過lab2的eth3接口轉(zhuǎn)發(fā)給lab4的。
4、設(shè)置開啟轉(zhuǎn)發(fā)功能
1、查看和開啟lab2的ip轉(zhuǎn)發(fā)功能
cat /proc/sys/net/ipv4/ip_forward #為0關(guān)閉,為1開啟
解析: /proc為系統(tǒng)內(nèi)核模塊的系統(tǒng)進程產(chǎn)生的文件,是無法直接修改的,因此可以使用重定向,注意,這里只接收一個參數(shù)。
解析:想一想lab2接收lab1傳來的數(shù)據(jù),想經(jīng)過 eth2,然后轉(zhuǎn)發(fā)到eth3,但是lab4并不識別,因此需要再開啟lab4的轉(zhuǎn)發(fā)來接收數(shù)據(jù)
設(shè)置lab4的網(wǎng)卡:
1、設(shè)置lab4路由和轉(zhuǎn)發(fā)
#開啟lab4的轉(zhuǎn)發(fā)功能
echo 1 > /proc/sys/net/ipv4/ip_forward
#lab1 再次訪問 lab4 的 172.0.0.20
發(fā)現(xiàn)仍然失敗,這是因為lab4并沒有同向10.0.0.0網(wǎng)段的路由表,下面對lab4添加xx網(wǎng)段的路由
#給lab4添加訪問10.0.0.0 網(wǎng)段的路由條目
ip route add 10.0.0.0/8 via 172.0.0.10 dev eth0
#再次使用lab1 訪問 lab4 的172.0.0.20
#再次使用lab1 訪問 lab4 的192.0.0.10
解析:也是能訪問的,因為根據(jù)路由條目linux內(nèi)核的轉(zhuǎn)發(fā)功能以及可以隨意轉(zhuǎn)發(fā)數(shù)據(jù)了
2、測試lab4訪問lab1
#那么同時lab4也能訪問10.0.0.0網(wǎng)段的地址了
進行優(yōu)化
當(dāng)我們添加路由都是臨時生效,重啟主機或網(wǎng)絡(luò)服務(wù)都會失效,因此可以將路由配置寫入配置文件
lab1設(shè)置:
1、設(shè)置路由配置
cd /etc/sysconfig/network-scripts/ #切換到網(wǎng)絡(luò)腳步目錄 vim route-eth0 #創(chuàng)建并編輯文件
2、再次啟動服務(wù),測試是否讀取配置文件的數(shù)據(jù)來設(shè)置
解析:這里顯示0.0.0.0表示所有網(wǎng)段,這里了表示讀取配置以及成功。
lab2設(shè)置:
1、設(shè)置路由配置
2、設(shè)置ip轉(zhuǎn)發(fā)永久生效
當(dāng)然還有修改的linux系統(tǒng)內(nèi)核參數(shù),這里要到/etc/sysctl.conf文件去修改
#將 ip_forward = 這里的值設(shè)置為1表示開啟,默認(rèn)為0表示關(guān)閉
vim /etc/sysctl.conf
#再修改保存后,并不能直接生效,需要使用命令來重讀系統(tǒng)參數(shù)配置文件
sysctl -p
lab4配置:
1、lab4路由配置
注意:設(shè)置后當(dāng)然也去修改其系統(tǒng)下的/etc/sysctl.conf文件中的ip_forward的value,這里過程和lab2配置一樣,可以參考lab2配置系統(tǒng)內(nèi)核參數(shù)過程。
額外說明:這里我默認(rèn)都關(guān)閉了防火墻功能,默認(rèn)如果防火墻中有條目,如果再啟動ip_forward 轉(zhuǎn)發(fā)任然不能ping同,可以使用關(guān)閉服務(wù)或者清空防火墻,使用方法:
iptables -F #清空防火墻 service iptables stop #關(guān)閉防火墻服務(wù)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。