route -n Linux
route print Windows
traceroute -n Linux
tracert -d Windowshtml
--http://www.cnblogs.com/snake-hand/p/3143041.htmllinux
天天一個linux命令(53):route命令windows
--http://www.cnblogs.com/peida/archive/2013/03/05/2943698.htmlcentos
--加路由範例 --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 等ssh
格式: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 並不在你的網域內)。
簡單的的操做以下,
查看路由狀態: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 添加路由規則
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
實際上route命令就是控制路由器的優先級,優先級以下
直連(兩個機器經過一根網線直接鏈接)-》靜態路由(修改路由表)-》動態路由
直連我就不敘述了,一根網線只有一條路徑,route命令控制的是靜態路由修改機器的路由表
實現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添加
Linux 192.168.0.106 route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 //Linux添加
any net 192.168.1.0/24 dev eth0
# cat /etc/sysconfig/static-routes any net 192.168.1.0/24 dev eth0
接口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