route命令用來顯示並設置Linux內核中的網絡路由表,route命令設置的路由主要是靜態路由。要實現兩個不一樣的子網之間的通訊,須要一臺鏈接兩個網絡的路由器,或者同時位於兩個網絡的網關來實現。html
在Linux系統中設置路由一般是爲了解決如下問題:該Linux系統在一個局域網中,局域網中有一個網關,可以讓機器訪問Internet,那麼就須要將這臺機器的ip地址設置爲Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啓或者機器重啓以後,該路由就失效了;能夠在/etc/rc.local中添加route命令來保證該路由設置永久有效。linux
route(選項)(參數)
緩存
> route
複製代碼
> route -n
複製代碼
route -n
不執行DNS反向查找,直接顯示數字形式的IP地址,列出速度會比route
快微信
字段說明markdown
列 | 含義 |
---|---|
Destination | 目標網絡或目標主機。Destination 爲 default(0.0.0.0)時,表示這個是默認網關,全部數據都發到這個網關(這裏是 10.139.128.1) |
Gateway | 網關地址,0.0.0.0 表示當前記錄對應的 Destination 跟本機在同一個網段,通訊時不須要通過網關 |
Genmask | Destination 字段的網絡掩碼,Destination 是主機時須要設置爲 255.255.255.255,是默認路由時會設置爲 0.0.0.0 |
Flags | 標記,含義參考表格後面的解釋 |
Metric | 路由距離,到達指定網絡所需的中轉數,是大型局域網和廣域網設置所必需的 (不在Linux內核中使用。) |
Ref | 路由項引用次數 (不在Linux內核中使用。) |
Use | 此路由項被路由軟件查找的次數 |
Iface | 網卡名字,例如 eth0 |
Flags 含義網絡
路由表中指向單個 IP 地址或主機名的路由記錄,其 Flags 字段爲 H。下面示例中,對於
10.0.0.8
這個主機,經過網關192.168.0.1
網關路由:oop
> route add -net 10.0.0.8 gateway 192.168.0.1 netmask 255.255.255.255 dev eth0
> route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.8 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
複製代碼
主機能夠到達的網絡。下面示例中,對於
10.0.0.0/24
這個網絡,經過網關192.168.0.1
網關路由:spa
> route add -net 10.0.0.0/24 gateway 192.168.0.1 dev eth0
> route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 192.168.0.1 255.255.255.0 UG 0 0 0 eth0
//或者
> route add -net 10.0.0.0 gateway 192.168.0.1 dev eth0
複製代碼
當目標主機的 IP 地址或網絡不在路由表中時,數據包就被髮送到默認路由(默認網關)上。默認路由的
Destination
是default
或0.0.0.0
。命令行
> route
default gateway 0.0.0.0 UG 100 0 0 eth0
複製代碼
不指定 gw 選項時,添加的路由記錄不使用網關:code
> route add -net 10.10.1.0 netmask 255.255.255.0 dev eth0
> route
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
複製代碼
> route add -net 10.10.1.0 netmask 255.255.255.0 reject
> route
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.1.0 - 255.255.255.0 ! 0 - 0 -
複製代碼
> route del -net 10.0.0.0 netmask 255.255.255.0
複製代碼
同時匹配多個路由表時,執行一次刪除一條
添加或刪除默認網關時,Linux 會自動檢查網關的可用性:
> route add default gw 192.168.1.1
SIOCADDRT: Network is unreachable
> route del default gw 192.168.1.1
SIOCDELRT: No such process
複製代碼
原文連接:rumenz.com/rumenbiji/l… 微信公衆號:入門小站