網(wǎng)絡(luò)故障(network failure)是指由于硬件的問題、軟件的漏洞、病毒的侵入等引起網(wǎng)絡(luò)無法提供正常服務(wù)或降低服務(wù)質(zhì)量的狀態(tài)。 在日常操作和維護操作中,您經(jīng)常會遇到路由表操作. 讓我們整理一下Linux操作和維護中的路由操作: --------------------------------------------------- ------------------------------- 首先談?wù)動嘘P(guān)路由的一些基本知識: 1)路由概念 路由: 通過互聯(lián)網(wǎng)將數(shù)據(jù)包從源主機轉(zhuǎn)發(fā)到目標(biāo)主機的過程 路由器: 一種能夠?qū)?shù)據(jù)包轉(zhuǎn)發(fā)到正確的目的地并在轉(zhuǎn)發(fā)過程中選擇最佳路徑的設(shè)備 路由表: 路由器中維護的路由條目,路由器根據(jù)路由表進行路徑選擇 直接連接路由: 在路由器上配置接口的IP地址并且接口狀態(tài)為up時,直接連接路由條目會出現(xiàn)在路由表中 靜態(tài)路由: 它是由管理員手動配置的,并且是單向的. 默認(rèn)路由: 當(dāng)路由器在路由表中找不到目標(biāo)網(wǎng)絡(luò)的路由條目時,路由器會將請求轉(zhuǎn)發(fā)到默認(rèn)路由接口. 2)靜態(tài)路由和默認(rèn)路由的功能 靜態(tài)路由功能: 手動設(shè)置路由表; 除非網(wǎng)絡(luò)管理員進行干預(yù),否則靜態(tài)路由不會更改; 路由表的形成不需要網(wǎng)絡(luò)資源; 適用環(huán)境: 通常用于網(wǎng)絡(luò)規(guī)模較小,拓撲固定的網(wǎng)絡(luò)中. 默認(rèn)路由功能: 在所有路由類型中,默認(rèn)路由的優(yōu)先級最低 適用環(huán)境: 通常用于只有一個出口的終端網(wǎng)絡(luò)或作為其他路由的補充 浮動靜態(tài)路由: 當(dāng)路由表中存在同一目標(biāo)網(wǎng)絡(luò)的路由條目時,請求將根據(jù)路由條目的優(yōu)先級轉(zhuǎn)發(fā)到相應(yīng)的端口; 鏈路冗余的作用; 3)路由器轉(zhuǎn)發(fā)數(shù)據(jù)包時的封裝過程 源IP和目標(biāo)IP不變. 傳輸網(wǎng)絡(luò)的每個網(wǎng)段時,源MAC和目標(biāo)MAC都會更改并重新封裝,這是每個網(wǎng)段的源地址和目標(biāo)地址. 4)要完成數(shù)據(jù)包的路由,路由器必須至少了解以下內(nèi)容: a)目的地址 b)連接到路由器,在哪里可以獲取遠程網(wǎng)絡(luò)的信息 c)到所有遠程網(wǎng)絡(luò)的可能路由 d)通往每個遠程網(wǎng)絡(luò)的最佳路由 e)如何維護和驗證路由信息 f)路由和交換的比較 路由在網(wǎng)絡(luò)層起作用 a)根據(jù)“路由表”轉(zhuǎn)發(fā)數(shù)據(jù) b)路由選擇 c)路由和轉(zhuǎn)發(fā) 交換在數(shù)據(jù)鏈路層進行 d)根據(jù)“ MAC地址表”轉(zhuǎn)發(fā)數(shù)據(jù) e)硬件轉(zhuǎn)發(fā) --------------------------------------------------- ------------------------------- 繼續(xù)討論Linux操作和維護中有關(guān)路由的一些操作 1)使用route -n命令查看Linux內(nèi)核路由表 [root@dev ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.17 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.1.32.14 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.1.32.12 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.4.8.2 192.168.9.254 255.255.255.255 UGH 0 0 0 eth0 10.4.9.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 192.168.9.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 10.2.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0 10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0 10.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0 192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0 0.0.0.0 192.168.9.254 0.0.0.0 UG 0 0 0 eth0 2)三種路由指令 a)主機路由 主機路由是指向路由表中單個IP地址或主機名的路由記錄. 主機路由的標(biāo)志字段為H. 例如,在以下示例中,本地主機通過IP地址為192.168.1.1的路由器到達IP地址為10.0.0.10的主機. Destination Gateway Genmask Flags Metric Ref Use Iface ----------- ------- ------- ----- ------ --- --- ----- 10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0 b)網(wǎng)絡(luò)路由 網(wǎng)絡(luò)路由是指主機可以訪問的網(wǎng)絡(luò). 網(wǎng)絡(luò)路由的標(biāo)志字段為N. 例如,在下面的示例中,本地主機將發(fā)送到網(wǎng)絡(luò)192.19.12的數(shù)據(jù)包轉(zhuǎn)發(fā)到IP地址為192.168.1.1的路由器. Destination Gateway Genmask Flags Metric Ref Use Iface ----------- ------- ------- ----- ----- --- --- ----- 192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0 c)默認(rèn)路由 當(dāng)主機在路由表中找不到目標(biāo)主機的IP地址或網(wǎng)絡(luò)路由時,數(shù)據(jù)包將發(fā)送到默認(rèn)路由(默認(rèn)網(wǎng)關(guān)). 默認(rèn)路由的“標(biāo)志”字段為G. 例如,在下面的示例中,默認(rèn)路由是IP地址為192.168.1.1的路由器. Destination Gateway Genmask Flags Metric Ref Use Iface ----------- ------- ------- ----- ------ --- --- ----- default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 3)配置路由的命令 您可以使用route命令來設(shè)置和查看路由表. 設(shè)置內(nèi)核路由表的命令格式為: route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 參數(shù)說明: 添加添加路由規(guī)則 del刪除路由規(guī)則 -net目標(biāo)地址是一個網(wǎng)絡(luò) -host目標(biāo)地址是主機 目標(biāo)目標(biāo)網(wǎng)絡(luò)或主機 netmask目標(biāo)地址的網(wǎng)絡(luò)掩碼 gw通過其路由數(shù)據(jù)包的網(wǎng)關(guān) 開發(fā)人員指定用于路由的網(wǎng)絡(luò)接口 4)路由命令用法示例 添加到主機的路由 # route add -host 192.168.1.2 dev eth0:0 # route add -host 10.20.30.148 gw 10.20.30.40 添加到網(wǎng)絡(luò)的路由 # route add -net 10.20.30.40 netmask 255.255.255.248 eth0 # route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 # route add -net 192.168.1.0/24 eth1 添加默認(rèn)路由 # route add default gw 192.168.1.1 刪除路由 # route del -host 192.168.1.2 dev eth0:0 # route del -host 10.20.30.148 gw 10.20.30.40 # route del -net 10.20.30.40 netmask 255.255.255.248 eth0 # route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 # route del -net 192.168.1.0/24 eth1 # route del default gw 192.168.1.1 //route del default 刪除所有的默認(rèn)路由 添加一條默認(rèn)路由 # route add default gw 10.0.0.1 //默認(rèn)只在內(nèi)存中生效 開機自啟動可以追加到/etc/rc.local文件里 # echo "route add default gw 10.0.0.1" >>/etc/rc.local 添加一條靜態(tài)路由 # route add -net 192.168.2.0/24 gw 192.168.2.254 要永久生效的話要這樣做: # echo "any net 192.168.2.0/24 gw 192.168.2.254" >>/etc/sysconfig/static-routes 添加到一臺主機的靜態(tài)路由 # route add -host 192.168.2.2 gw 192.168.2.254 要永久生效的話要這樣做: # echo "any host 192.168.2.2 gw 192.168.2.254 " >>/etc/sysconfig/static-routes 注:Linux 默認(rèn)沒有這個文件 ,得手動創(chuàng)建一個 5)設(shè)置數(shù)據(jù)包轉(zhuǎn)發(fā) Linux中的默認(rèn)內(nèi)核配置已包含路由功能,但是在系統(tǒng)啟動時默認(rèn)情況下未啟用此功能; 啟用Linux的路由功能可以通過調(diào)整內(nèi)核的網(wǎng)絡(luò)參數(shù)來實現(xiàn),方法如下: 臨時開啟路由功能: # echo 1 > /proc/sys/net/ipv4/ip_forward 或者 # sysctl -w net.ipv4.ip_forward=1 永久開啟路由功能 # vim /etc/sysctl.conf net.ipv4.ip_forward = 1 # sysctl -p 6)靜態(tài)路由配置 將靜態(tài)路由添加到路由表的語法如下: ip route [destination_network] [mask] [next-hop_address] administrative_distance] 參數(shù)分析: ip route是用于創(chuàng)建靜態(tài)路由的命令. 目標(biāo)網(wǎng)絡(luò)需要在路由表中通告到該網(wǎng)段. 掩碼此網(wǎng)絡(luò)上使用的子網(wǎng)掩碼. 下一跳地址下一跳路由器的地址. administrative_distance默認(rèn)情況下,靜態(tài)路由的管理距離為1. 在此命令的末尾添加管理權(quán)限以修改此默認(rèn)值. 例如 ip route 172.16.1.0 255.255.255.0 172.16.2.1 除了使用route -n命令查看路由表之外,您還可以使用ip route [root@dev ~]# ip route 192.168.1.17 dev ppp0 proto kernel scope link src 192.168.1.190 10.1.32.14 dev tun0 scope link 10.1.32.12 dev tun0 scope link 10.4.8.2 via 192.168.9.254 dev eth0 src 192.168.9.200 mtu 1500 advmss 1460 10.4.9.0/24 dev tun0 scope link 192.168.9.0/24 dev eth0 proto kernel scope link src 192.168.9.200 metric 1 10.2.0.0/16 dev tun0 scope link 10.0.0.0/16 dev tun0 scope link 10.1.0.0/16 dev tun0 scope link 192.168.0.0/16 dev tun0 scope link default via 192.168.9.254 dev eth0 ----------------------------------------示例1 ----- --------------------------------------- 如上圖所示,PC0機器和PC1機器之間有兩個路由器. 為了使兩臺機器通信,路由設(shè)置如下: 1)Route0路由器設(shè)置: ip add 192.168.1.1 255.255.255.0 ip add 192.168.2.1 255.255.255.0 ip route 192.168.3.0 255.255.255.0 192.168.2.2 2)Route1路由器設(shè)置: ip add 192.168.2.2 255.255.255.0 ip add 192.168.3.1 255.255.255.0 ip route 192.168.1.0 255.255.255.0 192.168.2.1 ----------------------------------------示例2 ----- --------------------------------------- 如上圖所示,使用主機A 192.168.1.2可以ping通主機E 192.168.4.2,并且兩臺機器可以通信. 操作思路: 1)在主機B上將默認(rèn)路由的下一跳設(shè)置為192.168.2.2,并啟用路由和轉(zhuǎn)發(fā)功能; 2)在主機C上設(shè)置2條靜態(tài)路由,到192.168.1.0/24網(wǎng)段的下一跳是192.168.2.1,到192.168.4.0/24網(wǎng)段的下一跳是192.168.3.2,打開路由和轉(zhuǎn)發(fā)功能; 3)在主機D上將默認(rèn)路由的下一跳設(shè)置為192.168.3.1,并啟用路由轉(zhuǎn)發(fā)功能. 操作記錄:
當(dāng)今,越來越多的業(yè)務(wù)應(yīng)用運行于網(wǎng)絡(luò)架構(gòu)之上,保障網(wǎng)絡(luò)的持續(xù)、高效、安全的運行,成為網(wǎng)絡(luò)管理者面臨的巨大挑戰(zhàn)。 |
溫馨提示:喜歡本站的話,請收藏一下本站!