Route 命令經常使用實戰整理

NAME
       route - show / manipulate the IP routing table

a.如何用命令行方式給linux機器添加一個默認網關,假設網關地址爲10.0.0.254?
a.缺省網關路由
    默認網關就是數據包不匹配任何設定的路由規則,最後流經的地址關口!網關按字面意思就是網絡的關口,
就至關於咱們家裏房子的門同樣,若是外出就要通過房門,數據包也是同樣。
本題的答案:
    route add default gw 10.0.0.254 或 route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.254
解答實踐:
[root@chenjiaxin ~]# route -n                #查看路由表,netstat -rn也能夠。
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 eth0
#這裏就是系統的默認網關信息,表示去任何地方(0.0.0.0),都發給10.0.0.254,由於是默認網關,因此,放在了最後一條。
路由也是有順序的,若是不符合任何一條規則就交給默認網關處理。 [root@chenjiaxin
~]# route del default gw 10.0.0.254 #這個命令是刪除默認的網關。 [root@chenjiaxin ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 [root@chenjiaxin ~]# route add default gw 10.0.0.254 #這個命令是添加默認的網關,也是本題的答案。 [root@chenjiaxin ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0 [root@chenjiaxin ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0 #最後一條就是添加的默認網關記錄 b.網絡路由:即去往某一網絡或網段的路由(通常多網段之間互相通訊,但願創建一條優先路由,而不是經過默認網關時就能夠配置網絡路由。   仍是拿房子比喻,你如今不是要出門,而是臥室,衛生間,去臥室就要通過臥室的門,去衛生間也要通過衛生間的門,這裏的臥室和衛生間的門就能夠認爲是去往某一網段的路由,
而不是默認路由(即房子的門)) 實際工做中會有需求,兩個不一樣的內部網絡之間互訪,而不是出網訪問,就是如今的狀況。 b.
192.168.1.0網段, 192.168.1.1網關的某一服務器想連入172.16.1.0/24段,該如何添加路由(奇虎360) 本題解答:route -net 172.16.1.0/24 gw 192.168.1.1 等同於: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 解答實踐: [root@chenjiaxin ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 SIOCADDRT: 網絡不可達 #當連不通地址192.168.1.1時,沒法添加路由。 [root@chenjiaxin ~]# ifconfig eth0:0 192.168.1.1/24 up #添加一個IP別名用於臨時測試,若是永久生效最好加雙網卡或寫入到配置文件。 [root@chenjiaxin ~]# ifconfig eth0:0 #查看添加的IP別名(網絡裏把這種多IP的方式稱爲子接口) eth0:0 Link encap:Ethernet HWaddr 00:0C:29:65:A4:FD inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 再添加去192.168.1.0的數據包,交給192.168.1.1處理。 [root@chenjiaxin ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 [root@chenjiaxin ~]# netstat -rn #和route -n很像。 Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth0 #這就是網絡路由 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0 拓展:其餘寫法 [root@chenjiaxin ~]# route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 #指定設備而不是地址。 [root@chenjiaxin ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0 [root@chenjiaxin ~]# route del -net 192.168.1.0/24 dev eth0 [root@chenjiaxin ~]# route add -net 192.168.1.0/24 dev eth0 [root@chenjiaxin ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0 總結: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 route add -net 192.168.1.0/24 dev eth0 route del -net 192.168.1.0/24 dev eth0 特別強調:以上配置在重啓網絡時都會失效,那麼如何讓它永久生效呢? 若是要是永久生效,有以下幾種方法: 方法一: vi /etc/sysconfig/network-scripts/route-eth0 #默認不存在此文件 加入以下內容: 192.168.1.0/24 via 192.168.1.1 提示:寫到配置裏,重啓網絡服務和重啓系統都會生效! 方法二: vi /etc/sysconfig/static-routes #默認不存在此文件 加入以下內容: any net 192.168.1.0/24 gw 192.168.1.1 提示:寫到配置裏,重啓網絡服務和重啓系統都會生效! 方法三: vi /etc/rc.local 加入以下內容: route add -net 192.168.1.0/24 gw 192.168.1.1 PS: 方法一推薦生產環境使用 提示:方法三寫到/etc/rc.local裏只在開機時加載,當手工重啓網絡後會失效,可是重啓系統後會生效! 若是是配置默認路由網關能夠再網卡配置裏: [root@chenjiaxin ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY=10.0.0.254 c.若是添加一個主機路由? c.主機路由:就是去往某個主機地址如何配置路由 /sbin/route add -host 192.168.2.13 dev eth2 /sbin/route add -host 202.81.11.91 dev lo 例如:keepalived或heartbeat高可用服務器對之間的使用單獨網卡接心跳線通訊就會用到以上主機路由。 route命令拓展: 刪除一條默認路由: route del default gw 10.0.0.254 刪除一條靜態路由: route del –net 目標網絡 netmask 如:route del -net 192.168.1.0/24 或route del -net 192.168.1.0 netmask 255.225.255.0 刪除一條主機路由: route del -host 192.168.1.10 dev eth0 有關route命令更詳細的內容須要你們執行man route查看幫助,並仔細總結。 本人比較喜歡老男孩老師,本文出處參考來自:http://oldboy.blog.51cto.com/2561410/974194
相關文章
相關標籤/搜索