Linux下使用route設置路由


一、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM