一、route命令
route命令用來顯示並設置Linux內核中的網絡路由表,route命令設置的路由主要是靜態路由。要實現兩個不同的子網之間的通信,需要一台連接兩個網絡的路由器,或者同時位於兩個網絡的網關來實現。
在Linux系統中設置路由通常是為了解決以下問題:該Linux系統在一個局域網中,局域網中有一個網關,能夠讓機器訪問Internet,那么就需要將這台機器的ip地址設置為Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之后,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。
Route命令的正確用法
使用 Route 命令行工具查看並編輯計算機的 IP 路由表。Route 命令和語法如下所示:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
-f 清除所有網關入口的路由表。
-p 與 add 命令一起使用時使路由具有永久性。
Command 指定您想運行的命令 (Add/Change/Delete/Print)。
Destination 指定該路由的網絡目標。
mask Netmask 指定與網絡目標相關的網絡掩碼(也被稱作子網掩碼)。
Gateway 指定網絡目標定義的地址集和子網掩碼可以到達的前進或下一躍點 IP 地址。
metric Metric 為路由指定一個整數成本值標(從 1 至 9999),當在路由表(與轉發的數據包目標地址最匹配)的多個路由中進行選擇時可以使用。
if Interface 為可以訪問目標的接口指定接口索引。若要獲得一個接口列表和它們相應的接口索引,使用 route print 命令的顯示功能。可以使用十進制或十六進制值進行接口索引。
? 在命令提示符處顯示幫助。
1.1 語法
route(選項)(參數)
1.2 選項
選項 描述
-A 設置地址類型;
-C 打印將Linux核心的路由緩存;
-v 詳細信息模式;
-n 不執行DNS反向查找,直接顯示數字形式的IP地址;
-e netstat格式顯示路由表;
-net 到一個網絡的路由表;
-host 到一個主機的路由表。
1.3 參數
選項 描述
Add 增加指定的路由記錄;
Del 刪除指定的路由記錄;
Target 目的網絡或目的主機;
gw 設置默認網關;
mss 設置TCP的最大區塊長度(MSS),單位MB;
window 指定通過路由表的TCP連接的TCP窗口大小;
dev 路由記錄所表示的網絡接口。
二、示列
2.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
192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.3.2 192.168.3.22 255.255.255.255 UGH 0 0 0 ens33
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.3.1 0.0.0.0 UG 100 0 0 ens33
192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.3.2 192.168.3.22 255.255.255.255 UGH 0 0 0 ens33
Flags標志說明
Flags為路由標志,標記當前網絡節點的狀態
U Up表示此路由當前為啟動狀態。
H Host,表示此網關為一主機。
G Gateway,表示此網關為一路由器。
R Reinstate Route,使用動態路由重新初始化的路由。
D Dynamically,此路由是動態性地寫入。
M Modified,此路由是由路由守護程序或導向器動態修改。
! 表示此路由當前為關閉狀態。
2.2 其他示列
添加網關/設置網關
#增加一條到達192.168.3.21的路由,子網掩碼255.255.255.255划分子網最小的掩網,
#表示你只在一個網址的網段內可參見子網的划分,下一跳地址192.168.3.22。
route add -net 192.168.3.21 netmask 255.255.255.255 gw 192.168.3.22
或
route add -net 192.168.3.21 netmask 255.255.255.255 dev eth0
#向帶有 255.255.0.0 子網掩碼和 10.27.0.1 下一躍點地址的 10.41.0.0 目標中添加一個永久路由
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
屏蔽一條路由
#增加一條屏蔽的路由,目的地址為224.x.x.x將被拒絕。
route add -net 224.0.0.0 netmask 240.0.0.0 reject
刪除路由記錄
route del -net 192.168.3.21 netmask 255.255.255.255 gw 192.168.3.22
route del -net 224.0.0.0 netmask 240.0.0.0
route del -net 224.0.0.0 netmask 240.0.0.0 reject
刪除和添加設置默認網關
route del default gw 192.168.120.240
route add default gw 192.168.120.240
