linux route命令的使用詳解

2021-10-04 21:26:08 字數 3003 閱讀 9758

route命令用於顯示和操作ip路由表。要實現兩個不同的子網之間的通訊,需要一台連線兩個網路的路由器,或者同時位於兩個網路的閘道器來實現。在linux系統中,設定路由通常是 為了解決以下問題:該linux系統在乙個區域網中,區域網中有乙個閘道器,能夠讓機器訪問internet,那麼就需要將這台機器的ip位址設定為 linux機器的預設路由。要注意的是,直接在命令列下執行route命令來新增路由,不會永久儲存,當網絡卡重啟或者機器重啟之後,該路由就失效了;要想永久儲存,可以儲存到配置檔案。

linux 預設只支援一條預設路由,當重新啟動網口時,會把其他預設路由去掉,只剩下一條該網口生成的預設路由。當然可以通過 route 命令手動新增多條預設路由,如果多條路由一樣,則選擇最開始找到的路由(排在前面的路由)。

命令格式

route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric]] [if inte***ce]]

常用選項和引數說明

(1) 選項

-c顯示路由快取。

-f顯示傳送資訊

-v顯示詳細的處理資訊。

-n不解析名字。

-ee使用更詳細的資訊來顯示

-v顯示版本資訊。

-net

到乙個網路的路由表。

-host

到乙個主機的路由表。

(2) 引數

add增加路由記錄。

del刪除路由記錄。

target

目的網路或目的主機。

gw設定預設閘道器。gateway 的簡寫,後續接的是 ip 的數值。

mss設定tcp的最大區塊長度(mss),單位mb。

window

指定通過路由表的tcp連線的tcp視窗大小。

dev如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等。

reject

設定到指定網路為不可達,避免在連線到這個網路的位址時程式過長時間的等待,直接就知道該網路不可達。

常用命令格式

(1) 新增和刪除路由

route [-net|-host] [網域或主機] netmask [mask] [gw|dev]

(a) -net :表示後面接的路由為乙個網域。

(b) -host :表示後面接的為連線到單部主機的路由。

(d) gw :gateway 的簡寫,後續接的是 ip 的數值,與 dev 不同。

(e) dev :如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等。

(2) 查詢路由資訊

route -nee

(a) -n:不要使用通訊協定或主機名稱,直接使用 ip 或 port number。

(b) -ee:使用更詳細的資訊來顯示。

(3) 新增/刪除預設閘道器路由

route default gw

(b) inte***ce-name:用於指定介面名稱,如eth0。

例1:route add default gw 192.168.1.1 eth0

例2:route del default gw 192.168.1.1 eth0

(4) 新增/刪除到指定網路的路由規則

route -net netmask dev

(b) netmask:用於指定子網掩碼。

例1:route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

例2:route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0

(5) 新增/刪除路由到指定網路為不可達

設定到指定網路為不可達,避免在連線到這個網路的位址時程式過長時間的等待,直接就知道該網路不可達。

route -net netmask reject

(b) netmask:用於指定子網掩碼。

例1:route add -net 10.0.0.0 netmask 255.0.0.0 reject

例2:route del -net 10.0.0.0 netmask 255.0.0.0 reject

輸出詳解

(1) 檢視路由資訊

[root@localhost ~]# route -n

kernel ip routing table

destination gateway genmask flags metric ref use iface

0.0.0.0 192.168.1.1 0.0.0.0 ug 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 u 1002 0 0 eth0

192.168.1.0 0.0.0.0 255.255.255.0 u 0 0 0 eth0

192.168.233.0 0.0.0.0 255.255.255.0 u 0 0 0 eth1

(2) 說明

route命令輸出的路由表字段含義如下:

destination目標網段或者主機

gateway閘道器位址,」*」 表示目標是本主機所屬的網路,不需要路由

genmask網路掩碼

flags標記。一些可能的標記如下:

u — 路由是活動的

h — 目標是乙個主機

g — 路由指向閘道器

r — 恢復動態路由產生的表項

d — 由路由的後台程式動態地安裝

m — 由路由的後台程式修改

! — 拒絕路由

metric路由距離,到達指定網路所需的中轉數(linux 核心中沒有使用)

ref路由項引用次數(linux 核心中沒有使用)

use此路由項被路由軟體查詢的次數

iface該路由表項對應的輸出介面

linux route命令使用

說明 route命令是列印和操作ip路由表 描述 route操作基於核心ip路由表,它的主要作用是建立乙個靜態路由讓指定乙個主 機或者乙個網路通過乙個網路介面,如eth0。當使用 add 或者 del 引數時,路由表被修改,如果沒有引數,則顯示路由表當前的內容。引數說明 add 新增一條新路由。de...

linux route命令使用

說明 route命令是列印和操作ip路由表 描述 route操作基於核心ip路由表,它的主要作用是建立乙個靜態路由讓指定乙個主 機或者乙個網路通過乙個網路介面,如eth0。當使用 add 或者 del 引數時,路由表被修改,如果沒有引數,則顯示路由表當前的內容。引數說明 add 新增一條新路由。de...

linux route命令簡單使用

route命令是檢視路由表資訊 route n 新增靜態路由 route add host 10.254.192.10 netmask 255.255.255.255 gw 192.168.80.1 dev eth0 新增一條本地走閘道器192.168.80.1到主機10.254.192.10的路由...