【Linux】一步一步学Linux——route命令(169)
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
route命令用來顯示并設置linux內(nèi)核中的網(wǎng)絡路由表,route命令設置的路由主要是靜態(tài)路由。要實現(xiàn)兩個不同的子網(wǎng)之間的通信,需要一臺連接兩個網(wǎng)絡的路由器,或者同時位于兩個網(wǎng)絡的網(wǎng)關來實現(xiàn)。
在linux系統(tǒng)中設置路由通常是為了解決以下問題:該linux系統(tǒng)在一個局域網(wǎng)中,局域網(wǎng)中有一個網(wǎng)關,能夠讓主機訪問Internet,那么就需要將這臺機器的ip地址設置為linux機器的默認路由。
要注意的是:直接在命令行下執(zhí)行route命令來添加路由,不會永久保存。當網(wǎng)卡重啟或者機器重啟之后,該路由就失效了。可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。
02. 命令格式
route [-nNvee] [-FC] [<AF>] List kernel routing tables route [-v] [-FC] {add|del|flush} ... Modify routing table for AF. route {-h|--help} [<AF>] Detailed usage syntax for specified AF. route {-V|--version} Display version/author and exit.03. 常用選項
-v選用細節(jié)操作模式 -A family用指定的地址族(如`inet',`inet6')。 -n以數(shù)字形式代替解釋主機名形式來顯示地址。此項對試圖檢測對域名服務器進行路由發(fā)生故障的原因非常有用。 -e用netstat(8)的格式來顯示選路表。-ee將產(chǎn)生包括選路表所有參數(shù)在內(nèi)的大量信息。 -net路由目標為網(wǎng)絡。 -host路由目標為主機。 -F顯示內(nèi)核的FIB選路表。其格式可以用-e 和 -ee選項改變。 -C顯示內(nèi)核的路由緩存。 del刪除一條路由。 add添加一條路由。 target指定目標網(wǎng)絡或主機??梢杂命c分十進制形式的IP地址或主機/網(wǎng)絡名。 netmask Nm為添加的路由指定網(wǎng)絡掩碼。 gw Gw為發(fā)往目標網(wǎng)絡/主機的任何分組指定網(wǎng)關。注意:指定的網(wǎng)關首先必須是可達的。也就是說必須為該網(wǎng)關預先指定一條靜態(tài)路由。如果你為本地接口之一指定這個網(wǎng)關地址的話,那么此網(wǎng)關地址將用于決定此接口上的分組將如何進行路由。這是BSD風格所兼容的。 metric M把選路表中的路由值字段(由選路進程使用)設為M。 mss M把基于此路由之上的連接的TCP最大報文段長度設為M字節(jié)。這通常只用于優(yōu)化選路設置。默認值為536。 window W把基于此路由之上的連接的TCP窗口長度設為W字節(jié)。這通常只用于AX.25網(wǎng)絡和不能處理背對背形式的幀的設備。 irtt I把基于此路由之上的TCP連接的初始往返時間設為I毫秒(1-12000)。這通常也只用于AX.25網(wǎng)絡。如果省略此選項,則使用RFC1122的缺省值300ms。 reject設置一條阻塞路由以使一條路由查找失敗。這用于在使用缺省路由前先屏蔽掉一些網(wǎng)絡。但這并不起到防火墻的作用。 mod, dyn, reinstate設置一條動態(tài)的或更改過的路由。這些標志通常只由選路進程來設置。這只用于診斷目的, dev If強制使路由與指定的設備關聯(lián),因為否則內(nèi)核會自己來試圖檢測相應的設備(通常檢查已存在的路由和加入路由的設備的規(guī)格)。在多數(shù)正常的網(wǎng)絡上無需使用。如果dev If是命令行上最后一個指定的選項,那么可以省略關鍵字dev,因為它是缺省值。否則路由修改對象(metric - netmask- gw - dev)無關緊要。04. 參考示例
4.1 顯示當前路由表
[root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#其中Flags為路由標志,標記當前網(wǎng)絡節(jié)點的狀態(tài),Flags標志說明:
- U Up表示此路由當前為啟動狀態(tài)。
- H Host,表示此網(wǎng)關為一主機。
- G Gateway,表示此網(wǎng)關為一路由器。
- R Reinstate Route,使用動態(tài)路由重新初始化的路由。
- D Dynamically,此路由是動態(tài)性地寫入。
- M Modified,此路由是由路由守護程序或?qū)蚱鲃討B(tài)修改。
- ! 表示此路由當前為關閉狀態(tài)。
4.2 以數(shù)字形式代替解釋主機名形式來顯示地址
[root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.3 添加一條路由
[root@localhost ~]# route add -net 192.168.1.0 netmask 255.255.255.0 dev ens33 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.4 刪除路由記錄
[root@localhost ~]# route del -net 192.168.1.0 netmask 255.255.255.0 dev ens33 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.5 添加默認網(wǎng)關
[root@localhost ~]# route add default gw 172.16.0.2 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.2 0.0.0.0 UG 0 0 0 ens33 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.6 刪除默認網(wǎng)關
[root@localhost ~]# route del default gw 172.16.0.2 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.7 屏蔽一條路由
[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 224.0.0.0 - 240.0.0.0 ! 0 - 0 - [root@localhost ~]#4.8 清除屏幕路由
[root@localhost ~]# route del -net 224.0.0.0 netmask 240.0.0.0 reject [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.9 所有去往172.16.0.8主機的數(shù)據(jù)包發(fā)往網(wǎng)關地址172.16.0.2
[root@localhost ~]# route add -host 172.16.0.8 gw 172.16.0.2 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 172.16.0.8 172.16.0.2 255.255.255.255 UGH 0 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#4.10 刪除指定主機的數(shù)據(jù)包發(fā)往默認網(wǎng)關
[root@localhost ~]# route del -host 172.16.0.8 gw 172.16.0.2 [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 100 0 0 ens33 172.16.0.0 0.0.0.0 255.255.254.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@localhost ~]#05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結(jié)
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——route命令(169)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——t
- 下一篇: 【Linux】一步一步学Linux——s