linux route命令的使用詳解 添加永久靜態路由 tracert traceroute


linux route命令的使用詳解 添加永久靜態路由  tracert  traceroute

 

route -n    Linux
route  print  Windows

traceroute  -n Linux
tracert  -d  Windows

 

--http://www.cnblogs.com/snake-hand/p/3143041.html

每天一個linux命令(53):route命令

--http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html

--加路由范例

--Linux
# route add -net 192.168.0.0 netmask 255.255.255.0  gw 192.168.0.1 
或者
# route add -net 192.168.0.0/24 gw 192.168.0.1 

 

 

 

 

route命令用於顯示和操作IP路由表。要實現兩個不同的子網之間的通信,需要一台連接兩個網絡的路由器,或者同時位於兩個網絡的網關來實現。在Linux系統中,設置路由通常是 為了解決以下問題:該Linux系統在一個局域網中,局域網中有一個網關,能夠讓機器訪問Internet,那么就需要將這台機器的IP地址設置為 Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之后,該路由就失效了;要想永久保存,有如下方法:

 

1.在/etc/rc.local里添加
2.在/etc/sysconfig/network里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y


格式:route 
格式:/sbin/route 
用於打印路由表(display the current routing table)。

在非root用戶使用時需要使用完整路徑執行route命令。

 

命令參數

[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [網域或主機] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [網域或主機] netmask [mask] [gw|dev]
觀察的參數:
   -n  :不要使用通訊協定或主機名稱,直接使用 IP 或 port number;
   -ee :使用更詳細的資訊來顯示
增加 (add) 與刪除 (del) 路由的相關參數:
   -net    :表示后面接的路由為一個網域;
   -host   :表示后面接的為連接到單部主機的路由;
   netmask :與網域有關,可以設定 netmask 決定網域的大小;
   gw      :gateway 的簡寫,后續接的是 IP 的數值喔,與 dev 不同;
   dev     :如果只是要指定由那一塊網路卡連線出去,則使用這個設定,后面接 eth0 等

 

格式:route -n
格式:/sbin/route -n
用於打印路由表,加上-n參數就是在輸出的信息中不打印主機名而直接打印ip地址。

格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
用於設置默認路由,其中,
參數{IP-ADDRESS): 用於指定路由器(網關)的IP地址;
參數{INTERFACE-NAME}: 用於指定接口名稱,如eth0。使用/sbin/ifconfig -a可以顯示所有接口信息。

例:route add default gw mango

格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
添加到指定網絡的路由規則,其中
參數{NETWORK-ADDRESS}: 用於指定網絡地址
參數{NETMASK}: 用於指定子網掩碼
參數{INTERFACE-NAME}: 用於指定接口名稱,如eth0。

例1:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
例2:route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
設置到指定網絡為不可達,避免在連接到這個網絡的地址時程序過長時間的等待,直接就知道該網絡不可達。

例:route add -net 10.0.0.0 netmask 255.0.0.0 reject

格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
用於刪除路由設置。參數指定的方式與route add相似。

 

 

 

 

范例一

單純的觀察路由狀態


[root@linux ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.10.30   0.0.0.0         UG    0      0        0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         server.cluster     0.0.0.0         UG    0      0        0 eth0

 

此外,觀察一下上面的路由排列順序喔,依序是由小網域(192.168.10.0/24 是 Class C),逐漸到大網域(169.254.0.0/16 Class B) 最后則是預設路由 (0.0.0.0/0.0.0.0)。然后當我們要判斷某個網路封包應該如何傳送的時候,該封包會經由這個路由的過程來判斷喔!舉例來說,我上頭僅有三個路由,若我有一個傳往 192.168.10.20 的封包要傳遞,那首先會找 192.168.10.0/24 這個網域的路由,找到了!所以直接由 eth0 傳送出去;如果是傳送到 Yahoo 的主機呢? Yahoo 的主機 IP 是 202.43.195.52,我通過判斷 

1)不是 192.168.10.0/24,
      2)不是 169.254.0.0/16 結果到達 

3)0/0  時, OK !傳出去了,透過  eth0  將封包傳給  192.168.10.30 那部  gateway  主機啊!所以說,路由是有順序的。因此當你重復設定多個同樣的路由時,例如在你的主機上的兩張網路卡設定為相同網域的  IP  時,會出現什么情況?會出現如下的情況: 
Kernel  IP  routing  table 
Destination          Gateway                  Genmask                  Flags  Metric  Ref        Use  Iface 
192.168.10.0        0.0.0.0                  255.255.255.0      U          0            0                0  eth0 
192.168.10.0        0.0.0.0                  255.255.255.0      U          0            0                0  eth1 
也就是說,由於路由是依照順序來排列與傳送的,所以不論封包是由那個介面  (eth0, eth1)  所接收,都會由上述的  eth0  傳送出去,所以,在一部主機上面設定兩個相同網域的  IP  本身沒有什么意義!有點多此一舉就是了。除非是類似虛擬主機 (Xen, VMware  等軟體 )  所架設的多主機時,才會有這個必要~

 

范例二

[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面這個動作可以刪除掉 169.254.0.0/16 這個網域!
# 請注意,在刪除的時候,需要將路由表上面出現的資訊都寫入
# 包括  netmask , dev 等等參數喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透過 route add 來增加一個路由!請注意,這個路由必須要能夠與你互通。


# 舉例來說,如果我下達底下的指令就會顯示錯誤:
 route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因為我的環境內僅有 192.168.10.100 這個 IP ,所以不能與 192.168.200.254這個網段直接使用 MAC 互通!這樣說,可以理解喔!?
[root@linux ~]# route add default gw 192.168.10.30
# 增加預設路由的方法!請注意,只要有一個預設路由就夠了喔!
# 在這個地方如果您隨便設定后,記得使用底下的指令重新設定你的網路
  /etc/init.d/network restart
     如果是要進行路由的刪除與增加,那就得要參考上面的例子了,其實,使用 man route 里面的資料就很豐富了!仔細查閱一下囉!你只要記得,當出現『SIOCADDRT: Network is unreachable』這個錯誤時,肯定是由於 gw 后面接的 IP 無法直接與您的網域溝通 (Gateway 並不在你的網域內)。

 

 

WINDOWS下的route命令

 

簡單的的操作如下,

查看路由狀態:routeprint

只查看ipv4(ipv6)路由狀態:route print-4(-6)

添加路由:route add 目的網絡 mask 子網掩碼 網關——重啟機器或網卡失效

route add 192.168.20.0 mask 255.255.255.0192.168.10.1

添加永久:route -p add 目的網絡 mask子網掩碼網關

route -p add 192.168.20.0 mask 255.255.255.0192.168.10.1

刪除路由:route delete 目的網絡 mask 子網掩碼

route delete 192.168.20.0 mask255.255.255.0

 


GZ-IT-李建華  10:28:12 --在香港110上執行 香港110的網卡地址 :192.168.1.110

route add -p 192.168.2.0 mask 255.255.255.0 192.168.1.20

GZ-IT-李建華  11:04:28  --在深圳5上執行 深圳5的網卡地址:192.168.2.5

route add -p 192.168.1.0 mask 255.255.255.0 192.168.2.21

 

route ?

操作網絡路由表。

ROUTE [-f] [-p] [-4|-6] command [destination]                   [MASK netmask]  [gateway] [METRIC metric]  [IF interface]

  -f           清除所有網關項的路由表。如果與某個                命令結合使用,在運行該命令前,                應清除路由表。

  -p           與 ADD 命令結合使用時,將路由設置為                在系統引導期間保持不變。默認情況下,重新啟動系統時,                不保存路由。忽略所有其他命令,                這始終會影響相應的永久路由。Windows 95                不支持此選項。

  -4           強制使用 IPv4。

  -6           強制使用 IPv6。

  command      其中之一:                  PRINT     打印路由                  ADD       添加路由                  DELETE    刪除路由                  CHANGE    修改現有路由   destination  指定主機。   MASK         指定下一個參數為“網絡掩碼”值。   netmask      指定此路由項的子網掩碼值。                如果未指定,其默認設置為 255.255.255.255。   gateway      指定網關。   interface    指定路由的接口號碼。   METRIC       指定躍點數,例如目標的成本。

------------------------------ route --help 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


  樺仔  23:17:18
什么意思?????
舒頁  23:17:47
1.33有這個路由么?到虛擬機
還有就是那個eth1的網關也很重要。
他需要有兩邊的路由
樺仔  23:19:09
什么意思
什么意思



舒頁  23:20:03
額。
樺仔  23:20:08
說話啊
舒頁  23:20:14
我關機了,,手機不行,
我能聽到你,
樺仔  23:20:32

樺仔  23:21:03
1.33有這個路由么?到虛擬機
還有就是那個eth1的網關也很重要。
他需要有兩邊的路由


您發送了一個窗口抖動。
樺仔  23:21:15
快點啊
解釋完我就睡覺了

您發送了一個窗口抖動。
舒頁  23:22:01

虛擬機的網關是多少?
2.1?
樺仔  23:23:08


舒頁  23:23:47
額。那你這個沒法通,
樺仔  23:24:11

為什麽!
舒頁  23:24:20
虛擬機那個網卡是0.1的,他不知道。
樺仔  23:24:36
添加路由不是為了兩個不同網段的主機通信嗎
舒頁  23:24:48
回來也要有路由,
樺仔  23:25:08
虛擬機那個網卡是0.1的,他真實機不知道?
舒頁  23:25:18
現在選的是橋接?
樺仔  23:25:25
你的意思是 我應該在真實機也要route add?
舒頁  23:25:46
真實機配置看看。
樺仔  23:25:48

舒頁  23:26:08
0.1是路由器?
樺仔  23:26:16

是的
舒頁  23:26:47
要在路由器上加一條到1.33的路由,
樺仔  23:27:26
我現在拋開路由器
我將網線拔了
只有真實機跟虛擬機
怎麽把真實機跟虛擬機通信
網段不同
舒頁  23:28:11
拔了網卡不滅了嗎?
樺仔  23:28:42
也是
舒頁  23:28:40
你用兩個虛擬機嘛。
樺仔  23:28:51
兩個虛擬機怎麽搞
舒頁  23:28:50
都用橋接
樺仔  23:29:03
兩個虛擬機都安裝centos?
舒頁  23:29:17
不陪路由相關的ip段
--1--配1段
--2--配2段
樺仔  23:30:00
然后呢
不寫這個嗎
舒頁  23:30:14
雙方都要路由指向對方
樺仔  23:30:16

舒頁  23:30:30
不寫,注釋
有網關的就需要網關去轉發。
網關要有2個段的路由也可以。
舒頁  23:31:49
有空可以看下思科
華為也可以,
樺仔  23:32:51
A機器ip 192.168.1.12
B機器ip 192.168.2.12


A機器
route add -net 192.168.1.0  netmask 255.255.255.0  192.168.2.12

B機器
route add -net 192.168.2.0  netmask 255.255.255.0  192.168.1.12
這樣嗎
舒頁  23:33:23
錯了,
樺仔  23:33:29
????、
舒頁  23:33:38
出接口
不是對方ip
是自己的接口
舒頁  23:34:56
這個問題用pt思科模擬器來說比較好,
樺仔  23:34:58
A機器ip 192.168.1.12
B機器ip 192.168.2.12


A機器
route add -net 192.168.2.0  netmask 255.255.255.0  192.168.1.12 dev eth0

B機器
route add -net 192.168.1.0  netmask 255.255.255.0  192.168.2.12 dev eth0
舒頁  23:35:25
255.255.255.0后面我記得不用ip吧?
跟出接口,或者出接口的ip吧。
樺仔  23:37:23

舒頁  23:38:03
對啊,
樺仔  23:38:22
A機器ip 192.168.1.12
B機器ip 192.168.2.12


A機器
route add -net 192.168.2.0  netmask 255.255.255.0  dev eth0

B機器
route add -net 192.168.1.0  netmask 255.255.255.0   dev eth0
但是不知道對方的ip
舒頁  23:38:54
嗯,
不需要知道
1.0/24   2.0/24包含在內
樺仔  23:39:56

要寫的
舒頁  23:40:57
不用吧。指定了出接口還要ip?
樺仔  23:42:17

我看見同事是這樣寫的
舒頁  23:42:43
不用
你都沒網關,要ip搞毛
樺仔  23:43:32

A機器
route add -net 192.168.2.0  netmask 255.255.255.0  dev eth0

B機器
route add -net 192.168.1.0  netmask 255.255.255.0   dev eth0
那a機器怎麽找到b機器?
舒頁  23:44:50
。。。往B機器網段的數據包都是0口出去
樺仔  23:45:49
出去之后
怎麽找到192.168.2.12這台機
舒頁  23:46:35
越說越長了,
舒頁  23:48:03
會廣播
廣播之后就知道了呀,
樺仔  23:50:13
明天你試一下可以不
在公司
舒頁  23:50:19
好啊,
你下個pt
很好模擬的,
都不用虛擬機。
思科模擬器

 

在ifcfg-eth0里不寫網關地址,讓route路由表路由,使用route add 添加路由規則


 仔  10:39:20


您發送了一個窗口抖動。
舒頁  10:45:42




 這是linux 都沒有配置網管 指定了出口
舒頁  10:47:33
 



舒頁  10:48:44
  都是橋接沒有配置網關  。  都是虛擬機。
樺仔  10:50:20
Windows和Linux都在虛擬機里面?
route add的時候都沒有指定網關?
舒頁  10:50:33

windows 需要指定 本機出接口ip   如果不指定無法配置靜態路由。
  亮哥的機器。。
樺仔  10:52:50
就是說
linux
route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
windows
route add -p 192.168.200.0 netmask 255.255.255.0 192.168.100.22 
這樣嗎

您發送了一個窗口抖動。
舒頁  10:53:10
嗯  
route add  192.168.200.0 mask 255.255.255.0 192.168.100.22  if 出接口
。。。windows 是這個命令。。。


樺仔  10:54:49
出接口其實相當於Linux 的dev eth0
舒頁  10:55:00

dev eth0  這個也是表示出接口的
樺仔  10:56:16
linux
route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
windows
route add -p 192.168.200.0 netmask 255.255.255.0 192.168.100.22   IF 2
舒頁  10:56:57

windows 沒有 -p
樺仔  10:58:55
WINDOWS 加
表示永久路由 -p
舒頁  10:59:22
   好把, 
樺仔  11:00:40
Linux要寫入static-route文件才行,否則重啟服務器
路由會失效
舒頁  11:00:59
,我只是測試,生產沒用。。。
生產肯定要考慮的-
樺仔  11:09:01

這里網卡填什么
舒頁  11:09:15

樺仔  11:09:17


舒頁  11:09:39
route print 
樺仔  11:09:41
Windows的ip和Linux的ip你都看到了
舒頁  11:09:41
能看到
   那個windows 不是橋接拔
  錯了
是本地ip出口
舒頁  11:10:46
就是說可以不用跟網絡接口 有ip就可以了
樺仔  11:10:49

舒頁  11:11:10
往上
命令下面截圖出來
樺仔  11:11:46

Windows
route add -p 192.168.1.0 netmask 255.255.255.0  192.168.1.2
這樣?

舒頁  11:12:12
嗯,應該也可以
樺仔  11:12:45

舒頁  11:12:51
  這里的參數就是IF 后面接的參數  
mask
 不是netmask
樺仔  11:21:45
剛才問了同事
其實是因為這個

如果是真實環境,兩個機房,其實是不能通的
舒頁  11:22:38
兩個機房。是不能通的呀, 要在一個交換機下面
兩個機房如果有專線, 也是可以得。
樺仔  11:23:56
其實還是需要兩個網卡,連接兩個網段
舒頁  11:24:03

誰說要兩個網卡。 擦。
樺仔  11:25:59
好吧,聽你的
舒頁  11:27:09
兩個機房, -專線接入-根本就不要。
就是從一個機房拉線到另一個機房。 不是說互聯網專線。
樺仔  11:28:45
你的意思是:我現在拉兩台真實的電腦,不是虛擬機,兩個電腦直連網線,就可以了?
舒頁  11:28:55
 我能說新一代有台機就是那么干的么。。

樺仔  11:29:37


舒總威武
舒頁  11:30:40

我是渣渣。。還是樺總87...
Windows  192.168.66.157
route add -p 192.168.1.0 mask 255.255.255.0  192.168.1.2 IF 12

網卡接口編號通過route print查看
Windows的route add一定要寫網關
IF=dev


Linux  192.168.1.2
route add -net 192.168.66.0 netmask 255.255.255.0  dev eth0

 


在Linux里,在添加路由規則的時候如果沒有那個網卡設備,就會報錯
SIOCADDRT:XXX
 

Linux添加永久靜態路由
 

實際上route命令就是控制路由器的優先級,優先級如下

直連(兩個機器通過一根網線直接連接)-》靜態路由(修改路由表)-》動態路由

直連我就不敘述了,一根網線只有一條路徑,route命令控制的是靜態路由修改機器的路由表

實現Windows和Linux主機之間不同網段通信

 
大家知道不同網段的兩台機器是不能通信的,其實我們可以通過路由規則的方法讓兩台機器通信
如果兩台機器都是真實機,我們只需要使用直連線,中間不經過任何交換機路由器就可以通信
如果兩台真實機都連着交換機,那么就需要多買一個網卡(兩台機器雙網卡),一個網卡連交換機,一個網卡直接連接
示意圖


圖中兩個機器都只有一個網卡,通過網線直接相連

然后在Windows和Linux各自添加一條路由規則

Windows  192.168.1.100
route add -p 192.168.0.0 mask 255.255.255.0  192.168.0.106 IF 12   //Windows添加

 



在cmd下執行上面命令
IF:網卡接口編號,可以通過route print查看
-p :表示添加永久路由


Linux  192.168.0.106
route add -net 192.168.1.0 netmask 255.255.255.0  dev eth0  //Linux添加

 




dev:為網卡設備,這里是 eth0

添加完畢之后,Windows和Linux都可以互相ping通

上面的命令,Windows添加的是永久路由,而Linux只是暫時路由,重啟機器或重啟網絡服務,路由規則就會消失
這時候需要在Linux添加永久路由

在/etc/sysconfig/  路徑下新建一個static-routes 文件
添加一行
any net 192.168.1.0/24  dev eth0
# cat /etc/sysconfig/static-routes 
any net 192.168.1.0/24 dev eth0

 



然后重啟網絡服務:service network restart


這時候,無論在Linux里重啟機器或重啟網絡服務,路由規則都不會消失虛擬機跟真實機的做法都是一樣的,並沒有差異
這樣,即使虛擬機跟真實機的網段不一樣,我們照樣可以ssh我們的Linux虛擬機
 
 
原理
centos7系統管理和運維實戰  P87
直連路由(同一個局域網內)-》靜態路由(修改下一跳地址)-》動態路由(OSPF,RIP,BGP,IGRP協議)

接口IP和直連路由 P87
無論使用哪種方式為網絡接口配置ip地址,只要網絡接口接入某個子網,路由表都會立即為子網添加相應的直連路由
可以使用route -n 命令查看路由表驗證

route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

命令的第一條就是和子網192.168.1.0的直連路由,這是由接口eth0的ip配置決定的
如果eth0的ip地址發生變化或有新的網卡擁有了ip地址,路由表中的直連路由也會發生變化

route命令還可以用於添加默認路由(通常稱為默認網關),但更多是用於添加靜態路由

同一個局域網內,有兩個不同的網段的主機,兩個不同網段主機通信只需要在主機上修改主機上的路由表即可,不需要修改硬件防火牆,因為內網通信不涉及到硬件防火牆
網段1:192.168.1.x
網段2:192.168.0.x

Linux 192.168.0.106
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 //Linux添加


Windows 192.168.1.100
route add -p 192.168.0.0 mask 255.255.255.0 192.168.0.106 IF 12 //Windows添加

 

 

附:在linux下設置永久路由的方法: 

1.在/etc/rc.local里添加 方法,這種方法重啟網絡服務之后就會失效

route add -net 192.168.3.0/24 dev eth0 
route add -net 192.168.2.0/24 gw 192.168.2.254 

 

2.在/etc/sysconfig/network里添加到末尾  ,這種方法只能添加默認網關 
方法:

GATEWAY=gw-ip或者 GATEWAY=gw-dev 

 


3./etc/sysconfig/static-routes : (沒有static-routes的話就手動建立一個這樣的文件) 

any net 192.168.3.0/24 gw 192.168.3.254 
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129 

 

 

4.開啟 IP 轉發: 

# echo "1" >/proc/sys/net/ipv4/ip_forward (臨時) 

# vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久開啟) 

 


如果在rc.local中添加路由會造成NFS無法自動掛載問題,所以使用static-routes的方法是最好的。無論重啟系統和service network restart 都會生效 
按照linux啟動的順序,rc.local里面的內容是在linux所有服務都啟動完畢,最后才被執行的,也就是說,這里面的內容是在netfs(NFS)之后才被執行的,

那也就是說在netfs(NFS)啟動的時候,服務器上的靜態路由是沒有被添加的,所以netfs(NFS)掛載不能成功。 
static-routes文件又是什么呢,這個是network腳本執行時調用的一個文件,這個文件的放置在/etc/sysconfig目錄下,在network腳本中的位置是

/etc/init.d/network:
    159         # Add non interface-specific static-routes.
    160         if [ -f /etc/sysconfig/static-routes ]; then
    161            grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
    162               /sbin/route add -$args
    163            done
    164         fi

 

 

 

route命令輸出的路由表字段含義如下:
Destination :目標網絡號或目標主機ip地址,default表示這是一條默認路由
Gateway 網關: 網關地址,即下一跳地址,其中0.0.0.0或"*"表示主機和該子網直接相連,無須下一跳地址(直連路由,在同一個局域網)
Genmask 網絡掩碼:子網對應的子網掩碼
Metric 距離、跳數:這個值一般存在有多條到目標網絡的路由時才起作用
Ref :路由條目引用的次數
Use :路由條目被路由軟件查找的次數
Iface :到達目標網絡使用的本地接口

 

Flags:總共有多個旗標,代表的意義如下:
U (route is up):當前路由處於活動狀態
H (target is a host):路由條目的目標是主機而不是子網
G (use gateway):指向默認網關的路由
R (reinstate route for dynamic routing):恢復動態路由產生的路由
D (dynamically installed by daemon or redirect):由后台程序動態產生的
M (modified from routing daemon or redirect):這個條目經過了后台程序修改
! (reject route):拒絕路由
C 緩存的路由條目


route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

第二條和第二條
當前有兩個子網:192.168.1.x和169.254.x.x
網關都是0.0.0.0,表示這兩個子網在同一個局域網,直連路由

第三條
Destination是0.0.0.0 表示跟第二條和第二條在同一個內網,網關是192.168.1.1

第一,第二,第三條的Iface都是eth0,表示網關,兩個子網都用eth0網卡做溝通

 

 

 

route添加路由常用命令
添加和刪除默認網關,mango-gw是網卡名,mango-gw網卡一定要跟網關也就是硬件防火牆直連, 172.16.45.1是網關ip
route add default gw mango-gw
route del default gw mango-gw
route add default gw 172.16.45.1
route del default gw 172.16.45.1


添加和刪除到網絡的路由
route add -net 192.168.2.0 netmask 255.255.255.0 gw mango-gw
route add -net 192.168.2.0/24 gw mango-gw
route add -net 192.168.2.0 netmask 255.255.255.0 gw 172.16.45.1
route add -net 192.168.2.0/24 gw 172.16.45.1


route del -net 192.168.2.0/24


添加和刪除到主機的路由
route add -host 192.168.2.80 gw mango-gw
route add -host 192.168.2.80 gw 172.16.45.1


route del -host 192.168.2.80

 

深圳機房有兩條線路到香港機房,Linux防火牆里面用crontab調用一個腳本對線路一ping 100個包 丟包嚴重,就route命令改內核路由表做線路切換

不改內核路由表,默認走機房給你的公網IP,子網掩碼,網關,路線:內網機器-》Linux防火牆(機房給你的公網ip)-》機房給你的網關

 


hyper-v不同網段之間虛擬機通信

同一個hyper-v母機下面5台虛擬機,不同網段,通過修改直連路由ping通
搭建alwayson測試環境,5台hyper-v虛擬機
關閉所有虛擬機的防火牆
同一個母機下面5台虛擬機
3台機器網段是192.168.6.x
2台機器網段是192.168.7.x

刪除路由
route delete  192.168.6.0

我在每台機器添加網關
然后router那台機器添加多網卡 設置為網關ip  微軟有個功能是軟路由的
添加好功能就沒問題了

 

 

 

f

 


免責聲明!

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



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