歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 每天一個Linux命令(47)route命令

每天一個Linux命令(47)route命令

日期:2017/3/3 11:56:08   编辑:Linux技術

[b] Linux系統的route命令用於顯示和操作內核IP路由表(show / manipulate the IP routing table)。[/b][b] (1)用法:[/b]

[b] 用法: route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]][/b][b] (2)功能:[/b]

功能: 創建一個靜態路由讓指定一個主機或者一個網絡通過一個網絡接口,如eth0。當使用"add"或者"del"參數時,路由表被修改,如果沒有參數,則顯示路由表當前的內容。 要實現兩個不同的子網之間的通信,需要一台連接兩個網絡的路由器,或者同時位於兩個網絡的網關來實現。在Linux系統中,設置路由通常是為了解決以下問題:該Linux系統在一個局域網中,局域網中有一個網關,能夠讓機器訪問Internet,那麼就需要將這台機器的IP地址設置為Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之後,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。

[b] (3)選項參數:[/b] 1) -n:       不執行DNS反向查找,直接顯示數字形式的IP地址2) add:     添加一條新路由。

3) del:      刪除一條路由。 4) -net:      目標地址是一個網絡。

5) -host:   目標地址是一個主機。 6) netmask:   當添加一個網絡路由時,需要使用網絡掩碼。

7) gw:       路由數據包通過網關。注意,你指定的網關必須能夠達到。 8) metric:    設置路由跳數。

[b] (4)實例:[/b] 1)[root@localhost sunjimeng]# route     //顯示當前路由,執行DNS反向查找。

[root@localhost sunjimeng]# route    //未連接以太網時
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
[root@localhost sunjimeng]# route     //連接以太網時
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.117.2   0.0.0.0         UG    100    0        0 eno16777736
192.168.117.0   0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
主機網絡的ip地址是192.168.117.0,若數據傳送目標是在本局域網內通信,則可直接通過網卡轉發數據包。

若數據傳送目的是訪問Internet,則由網關接口,將數據包發送到網關192.168.117.2。 參數說明:

  1)Flags標志說明:   U Up表示此路由當前為啟動狀態;

   H Host,表示此網關為一主機;   G Gateway,表示此網關為一路由器;

R Reinstate Route,使用動態路由重新初始化的路由   D Dynamically,此路由是動態性地寫入

   M Modified,此路由是由路由守護程序或導向器動態修改   ! 表示此路由當前為關閉狀態

2)[root@localhost sunjimeng]# route -n    //顯示當前路由,不執行DNS反向查找

[root@localhost sunjimeng]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.117.2   0.0.0.0         UG    100    0        0 eno16777736
192.168.117.0   0.0.0.0         255.255.255.0   U     100    0        0 eno16777736

注意:雖然route -n與route的執行結果是一樣的,但是前者執行時要有一個執行DNS反向查找的過程。在顯示數字形式的ip地址之前有一個等待過程。route -n (-n 表示不解析名字,列出速度會比route 快)。 3)[root@localhost sunjimeng]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eno16777736    增加一條到達244.0.0.0的路由

[root@localhost sunjimeng]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eno16777736[root@localhost sunjimeng]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.117.2   0.0.0.0         UG    100    0        0 eno16777736
192.168.117.0   0.0.0.0         255.255.255.0   U     100    0        0 eno16777736224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eno16777736

4)[root@localhost sunjimeng]# route add -net 224.0.0.0 netmask 240.0.0.0 reject          增加一條用來屏蔽當前已存在路由的路由

[root@localhost sunjimeng]# route add -net 224.0.0.0 netmask 240.0.0.0 reject

[root@localhost sunjimeng]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.117.2 0.0.0.0 UG 100 0 0 eno16777736 192.168.117.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736

224.0.0.0 - 240.0.0.0 ! 0 - 0 - //用來屏蔽下一行的路由224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eno16777736

5)[root@localhost sunjimeng]# route del -net 224.0.0.0 netmask 240.0.0.0 reject dev eno16777736  刪除一條指定的路由

[root@localhost sunjimeng]# route del -net 224.0.0.0 netmask 240.0.0.0 reject dev eno16777736

[root@localhost sunjimeng]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.117.2 0.0.0.0 UG 100 0 0 eno16777736 192.168.117.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736

224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eno16777736

[root@localhost sunjimeng]# route del -net 224.0.0.0 netmask 240.0.0.0 dev eno16777736[root@localhost sunjimeng]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.117.2 0.0.0.0 UG 100 0 0 eno16777736 192.168.117.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736

6)[root@localhost sunjimeng]# route del default gw 192.168.117.2  刪除或設置默認網關

[root@localhost sunjimeng]# route -del default gw 192.168.117.2      //這裡不要用-參數

route:無效選項 -- d

route:無效選項 -- l

Usage: 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.

-v, --verbose be verbose

-n, --numeric don't resolve names

-e, --extend display other/more information

-F, --fib display Forwarding Information Base (default)

-C, --cache display routing cache instead of FIB

<AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet

List of possible address families (which support routing):

inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)

netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)

x25 (CCITT X.25)

[root@localhost sunjimeng]# route del default gw 192.168.117.2      //刪除默認網關

[root@localhost sunjimeng]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.117.2 0.0.0.0 UG 100 0 0 eno16777736 192.168.117.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736

[root@localhost sunjimeng]# route add default gw 192.168.117.2     //設置默認網關[root@localhost sunjimeng]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.117.2 0.0.0.0 UG 100 0 0 eno16777736 192.168.117.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736

(5)其他:網關,路由器,交換機,網橋的區別:

1)交換機:  (switch)意為開關,是一種用於電(光)信號轉發的網絡設備。它可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路,工作於OSI參考模型的第二層,即數據鏈路層。

工作原理:交換機內部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應,形成一張MAC表。在今後的通訊中,發往該MAC地址的數據包將僅送往其對應的端口,而不是所有的端口。因此,交換機可用於劃分數據鏈路層廣播,即沖突域;但它不能劃分網絡層廣播,即廣播域。 最常見的交換機是以太網交換機。其他常見的還有電話語音交換機、光纖交換機等。

2)路由器: 路由器(Router),是連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路由,以最佳路徑,按前後順序發送信號。連接多個邏輯上分開的網絡,所謂邏輯網絡是代表一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另一個子網時,可通過路由器的路由功能來完成。因此,路由器具有判斷網絡地址和選擇IP路徑的功能,它能在多網絡互聯環境中,建立靈活的連接,可用完全不同的數據分組和介質訪問方法連接各種子網,路由器只接受源站或其他路由器的信息,屬網絡層的一種互聯設備。

3)網關: 網關(GateWay)又稱協議轉換器,連接兩個或更多個管理上的相異的網絡/子網的節點,是一種存儲轉發設備,主機所發送的數據報將被傳送給其他主機。

網關就是為了保證大家同在一個網絡的IP, 譬如C網的網關是255.255.255.0 那麼在同一個局域網(C類網)的IP只是最後一位不同,任取一台機來說,它的IP與它的網關相與,就得出他的IP前面三位的數值,大家相同,表示在同一個局域網。網關是兩個區域間的橋梁,有他來決定你要訪問的機器到底在那個小區域裡面,並且由它來負責不同協議的轉換。大多數網關運行在OSI協議模型的頂層--應用層。 4)網橋:

網橋工作在數據鏈路層,將兩個LAN連起來,根據MAC地址來轉發幀,可以看作一個“低層的路由器”(路由器工作在網絡層,根據網絡地址如IP地址進行轉發)。網橋(Bridge)又叫橋接器,它是一種在鏈路層實現局域網互連的存儲轉發設備。網橋從一個局域網接收MAC幀,拆封、校對、校驗之後,按另一個局域網的格式重新組裝,發往它的物理層。 橋提供了一種連接局域網 (LAN) 段的廉價而便捷的方法。LAN 網段是連接計算機的網絡媒體的單個部分。

例如,假設您有三台計算機:計算機 A、計算機 B 和計算機 C。計算機 A 有兩個以太網絡適配器,而計算機 B 和 C 各有一個以太網絡適配器。連接 A 和 B 的以太網電纜將創建一個 LAN 網段,連接 A 和 C 的另一個以太網電纜將創建另一個 LAN 網段。 傳統做法是,如果您需要網絡具有多個段,則您有兩個選擇:路由和橋接。IP 路由是連接網絡段的常用解決方案。但是,如果要安裝 IP 路由,則必須購買硬件路由器或在網段之間的交接處安裝計算機以用作路由器。對於每個網絡段上的每台計算機,IP 路由都要求對 IP 地址進行復雜配置,而且每個網絡段都需要配置為獨立的子網。IP 路由是適合於大型網絡的解決方案,此時可縮放性很重要,而且需要經驗豐富的人員配置和維護網絡。網橋雖無需進行復雜配置,但是您必須額外購買硬件網橋。如果是家庭或小型辦公網絡,則這兩個選擇都不理想,您既不願意購買昂貴的搭橋硬件,也不願意請有經驗的人員管理 IP 路由網絡。 windows計算機上只能存在一個網橋,但可以使用它來橋接該計算機在物理上允許的所有網絡連接。

5)路由器和交換機的區別: 交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。這一區別決定了路由和交換機在移動信息的過程中需使用不同的控制信息,所以說兩者實現各自功能的方式是不同的。交換機最主要的功能就是數據交換,交換機是一種基於MAC地址識別,能完成封裝轉發數據包功能的網絡設備.路由器最主要的功能是選路,指明一個方向。路由器有IP分配、路由尋址、地址映射、訪問控制這些功能,普通交換機沒有這些功能,只有三層交換機可以有這些功能。

6)數據報:   Internet中,所傳送的信息被劃分為基本的數據單元再進行傳送,這些基本的數據單元稱為數據報。

7)網關和路由器的區別: 路由可以連接兩個網絡,網關也可以連接兩個網絡,那麼有什麼區別呢?

網關現在通常用來表示一個概念。作為內網和外網的接入點,一般我們稱為網關。路由器是實質性的物理介質,我們可以稱這個路由器是網關,也可以稱某個主機為服務器為網關,跟具體硬件在不同網絡之間互聯中扮演的角色有關。一般而言:網關是一個IP地址,是一個網絡連接到另一個網絡的“關口”。路由器是一個物理設備。一般局域網的網關就是路由器的IP地址。 8)網橋和路由器的區別:

網橋和路由的區別在於路由不僅連接兩個網絡,還在網絡路徑選擇和路徑算法中有極大貢獻。由於網橋是鏈路層設備,因此不處理數據鏈路層以上層次協議所加的報頭. 路由器比網橋更加復雜,也具有更大的靈活性。由於路由器具有更強的不同網間的互連能力,所以其連接對象包括局域網和廣域網等多種類型網絡。   從上面可以看出,網橋和路由器的不同主要體現在三個方面。

1.網橋是第二層的設備,而路由器是第三層的設備; 2.網橋只能連接兩個相同的網絡,而路由器可以連接不同網絡;

3.網橋不隔離廣播,而路由器可以隔離廣播。 9)DNS正向與反向查找:

正向查找就是 知道域名來查找相對應的IP;反向查詢就是 知道IP來查找相對應的域名。

Copyright © Linux教程網 All Rights Reserved