交換與路由
交換: 指同網絡訪問。兩臺機器連在同一個交換機上,配置同網段的不同ip就可以直接通迅 (這里不討論三層交換).
路由: 指跨網絡訪問的路徑選擇
路由表: 指記錄路由信息的表(可以單路由表,也可以多路由表)
問題1: 按上面的路由表來看,如果要訪問10.1.1.1這個IP,請問會怎么走?
答: 會通過10.1.1.0/255.255.255.0這個路由條目后面指示的ens33網卡去尋找10.1.1.1。
問題2: 按上面的路由表來看,如果要訪問119.75.217.26這個IP,請問會怎么走?
答: 會通過網關10.1.1.2去尋找。
當在一臺linux機器上要訪問一個目標ip時,請記住linux以下四步口訣(在linux默認的單路由表情況下,如果想更深 入了解多路由表,請看課外拓展內容):
如果本機有目標ip,則會直接訪問本地; 如果本地沒有目標ip,則看第2步
用route -n查看路由,如果路由條目里包含了目標ip的網段,則數據包就會從對應路由條目后面的網卡出去如果沒有對應網段的路由條目,則全部都走網關如果網關也沒有,則報錯:網絡不可達
(注意: 當不能直接到達目標ip, 那么每到達一個機器都會重復上面四步,直到找到目標) 問題3: 為什么route -n能看到這幾條路由(不同機器可能還不一樣)
答:因為本機ens33這個網卡有10.1.1.0/24這個網段的IP,所以就會默認產生類似下面的路由條目
10.1.1.00.0.0.0255.255.255.0U000 ens33
169.254.0.0/24是保留網關
10.1.1.2是配置的網關
問題4: 加網關有什么要求? 如何加網關和刪除網關? 加網關的要求:
網關只能加路由條目里已有的路由網段里的一個IP (ping不通此IP都可以) 加網關不需要指定子網掩碼
臨時配置與刪除(立即生效,重啟網絡服務就沒了)
# route add default gw x.x.x.x # route del default gw x.x.x.x
永久配置(如果機器有多張網卡,只需要一張網卡配置網關, 網關要與配置的網卡同網段)
在/etc/sysconfig/network-scripts/ifcfg-ens33配置文件里加上
GATEWAY=x.x.x.x
linux靜態路由
環境準備: 四個網段,四臺機器(全部清空iptables規則) 1.1.1.0/24網段使用vmnet1網段來模擬(僅主機模式)
2.2.2.0/24網段使用vmnet2網段來模擬(僅主機模式)
3.3.3.0/24網段使用vmnet3網段來模擬(僅主機模式)
4.4.4.0/24網段使用vmnet4網段來模擬(僅主機模式)
ip_forward: linux內核里的一個參數.當兩邊機器不同網段IP通過中間雙網卡機器進行路由交互時,需要將此參數值改為1,也就是打開ip_forward。打開方法如下:
1.在vm1上ping1.1.1.2,能不能通? 如果不能通怎么解決?
分析方法:源IP: 1.1.1.8 目標IP: 1.1.1.2,按照前面的四步口訣,達到目標后,源和目標IP反轉并能成功返回則表示能通; 否則不能通
結果:能通
2.在前面ping通的基礎上,繼續在vm1上ping2.2.2.2,能不能通? 如果不能通怎么解決?
結果:不能通.
解決:在VM1上加網關指向1.1.1.2
3.在前面ping通的基礎上,繼續在vm1上ping2.2.2.3,能不能通? 如果不能通怎么解決?
結果:不能通.
解決:在VM3上加網關指向2.2.2.2.還要打開VM2的ip_forward
4.在前面ping通的基礎上,繼續在vm1上ping3.3.3.3,能不能通? 如果不能通怎么解決?
結果:不能通
解決:在VM2上加網關指向2.2.2.3
5.在前面ping通的基礎上,繼續在vm1上ping3.3.3.4,能不能通? 如果不能通怎么解決?
結果:不能通
解決:在VM4加網關指向3.3.3.3,還要打開VM3的ip_forward
6.在前面ping通的基礎上,繼續在vm1上ping4.4.4.4,能不能通? 如果不能通怎么解決?
結果:不能通
錯誤解決:在vm3加網關指向3.3.3.4是不行的,這樣的話vm3一張路由表就會產生兩個網關。 正確解決:在vm3上加路由
route add -net 4.4.4.0 netmask 255.255.255.0 dev ens37
-
Linux
+關注
關注
87文章
11314瀏覽量
209794 -
路由
+關注
關注
0文章
278瀏覽量
41866
發布評論請先 登錄
相關推薦
評論