在linux和windows中都有路由配置的方法,在日常開發(fā)中也經(jīng)常遇到,比如自己公司各個網(wǎng)站內(nèi)部開了openvpn這種應(yīng)用以后,路由配置不好有可能導(dǎo)致改走vpn的不走,網(wǎng)絡(luò)卡頓甚不能正常上網(wǎng)
route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate]
[[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help]
看不懂不要緊,看下面常用命令那的用法
2.1 選項說明
-C 顯示路由緩存cache。
-F 顯示發(fā)送信息
-v 詳細的處理信息。
-n 不解析名字。
-ee 使用更詳細的資訊來顯示
-V 顯示版本信息。
-net 到一個網(wǎng)絡(luò)的路由表(常用)。
-host 到一個主機的路由表(常用)。
2.2 參數(shù)說明
add 增加路由記錄。
del 刪除路由記錄。
target 目的網(wǎng)絡(luò)或目的主機。
gw 設(shè)置默認網(wǎng)關(guān)。gateway 的簡寫,后續(xù)接的是網(wǎng)關(guān)的IP。
mss 設(shè)置TCP的最大區(qū)塊長度(MSS),單位MB。
window 指定通過路由表的TCP連接的TCP滑動窗口大小。
dev 用于指定由哪一塊網(wǎng)路卡出去,后面接網(wǎng)卡名 eth0。
reject 設(shè)置到指定網(wǎng)絡(luò)為拒絕訪問(不可達),避免某些到這個網(wǎng)絡(luò)的連接超時和等待,直接返回網(wǎng)絡(luò)不可達。
metric 躍點數(shù)
3.1 添加和刪除路由
命令:route {add | del } [-net|-host] [網(wǎng)域或主機] netmask [mask] [gw|dev]
增加/刪除路由的相關(guān)參數(shù):
-net 表示到為一個網(wǎng)域。
-host 表示到單部主機。
netmask 網(wǎng)絡(luò)掩碼 決定一個網(wǎng)域的大小。
gw gateway 的簡寫,后續(xù)接的是 IP 的數(shù)值,與 dev 不同。
dev 用于指定由哪一塊網(wǎng)路卡出去,后面接網(wǎng)卡名eth0。
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
NETWORK-ADDRESS:用于指定網(wǎng)絡(luò)地址。
NETMASK:用于指定子網(wǎng)掩碼。
INTERFACE-NAME:用于指定接口名稱,如eth0。
示例:
#增加或刪除到網(wǎng)域192.56.76.X的路由 通過eth0網(wǎng)卡
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0
設(shè)置到指定網(wǎng)絡(luò)為不可達(應(yīng)用場景不多)
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} reject
NETWORK-ADDRESS 網(wǎng)絡(luò)地址。
NETMASK 網(wǎng)絡(luò)掩碼。
比如你的vpn是10.8.0.X,想禁止到這個網(wǎng)絡(luò)
例1:route add -net 10.8.0.0 netmask 255.255.255.0 reject
例2:route del -net 10.8.0.0 netmask 255.255.255.0 reject
3.2 添加/刪除默認網(wǎng)關(guān)
route {add | del } default gw {IP-ADDRESS} {INTERFACE-NAME}
IP-ADDRESS 用于指定網(wǎng)關(guān)的IP地址。
INTERFACE-NAME 用于指定網(wǎng)卡名稱,如eth0。
例:
1. route add default gw 192.168.1.1 dev eth0
2. route del default gw 192.168.1.1 dev eth0
3. route add default gw 192.168.233.2 dev eth1 metric 99
3.3 查詢路由信息
route 或者 route -nee
-n 不要使用通訊協(xié)定或主機名稱,直接使用 IP 或 port number。
-ee 使用更詳細的資訊來顯示。
輸出信息:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0 0 0 0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0 0 0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 0 0 0
參數(shù)詳解:
Destination 目標網(wǎng)絡(luò)或目標主機。值為0.0.0.0(有時候顯示default)時,表示這個是默認網(wǎng)關(guān),外出所有的數(shù)據(jù)都發(fā)到這個網(wǎng)關(guān)。
Gateway 網(wǎng)關(guān)地址,0.0.0.0 表示當前記錄對應(yīng)的 Destination 跟本機在同一個網(wǎng)段,不需要經(jīng)過網(wǎng)關(guān)。
Genmask Destination的網(wǎng)絡(luò)掩碼,Destination 是主機時設(shè)為 255.255.255.255,默認路由設(shè)置為 0.0.0.0
Flags 標記
● U 該路由可以使用。
● H 該路由是到一個主機(host),也就是說,目的地址是一個完整的主機地址。如果沒有設(shè)置該標志,說明該路由是到一個網(wǎng)絡(luò),而目的地址是一個網(wǎng)絡(luò)地址:一個網(wǎng)絡(luò)號,或者網(wǎng)絡(luò)號與子網(wǎng)號的組合。
● G 該路由是到一個網(wǎng)關(guān)(gateway)。如果沒有設(shè)置該標志,說明目的地 是直接相連的。
● R 恢復(fù)動態(tài)路由產(chǎn)生的表項。
● D 該路由是由改變路由(redirect)報文創(chuàng)建的。
● M 該路由已被改變路由報文修改。
● ! 這個路由將不會被接受。
Metric 路由距離(躍點數(shù)),到達指定網(wǎng)絡(luò)所需的中轉(zhuǎn)數(shù),是大型局域網(wǎng)和廣域網(wǎng)設(shè)置所必需的。
Ref 路由項引用次數(shù) 。
Use 此路由項被路由軟件查找的次數(shù)。
Iface 網(wǎng)卡名字,例如 eth0。
當主機需要向某個IP地址發(fā)起通信時,它會對路由表進行匹配,以確定如何發(fā)送數(shù)據(jù)包。匹配過程如下:
把通信的目的IP地址和路由表中每一個路由項的網(wǎng)絡(luò)掩碼進行相與計算,如果相與后的結(jié)果匹配對應(yīng)路由項的網(wǎng)絡(luò)地址,則記錄下此路由項,繼續(xù)下一條目比對
當計算完路由表中所有的路由項后,選擇記錄下的路由項中的最長匹配路由(網(wǎng)絡(luò)掩碼中具有最多“1”位的路由項)來和此目的IP地址進行通信。
如果存在多個最長匹配路由,那么選擇具有最低躍點數(shù)的路由項。
如果存在多個具有最低躍點數(shù)的最長匹配路由,那么:均根據(jù)最長匹配路由所對應(yīng)的網(wǎng)絡(luò)接口在網(wǎng)絡(luò)連接的高級設(shè)置中的綁定優(yōu)先級來決定(一般有線(eth0) > 無線 (wlan0) > 移動信號(4G))。
如果優(yōu)先級一致,則選擇最開始找到的最長匹配路由。(排在前面的路由)
匹配不到就會走默認路由
4.1 查看路由匹配過程
traceroute 域名/ip
例如:traceroute www.baidu.com
輸出:
traceroute to www.baidu.com (61.135.169.121), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 0.484 ms 0.467 ms 0.460 ms
2 * * *
3 100.67.69.6 (100.67.69.6) 1.011 ms 1.011 ms 100.67.69.2 (100.67.69.2) 1.031 ms
4 61.48.75.37 (61.48.75.37) 0.996 ms 2.544 ms 2.539 ms
5 61.135.33.197 (61.135.33.197) 5.611 ms 61.148.146.181 (61.148.146.181) 1.412 ms 61.148.157.109 (61.148.157.109) 1.154 ms
6 61.51.115.102 (61.51.115.102) 1.405 ms 61.148.146.178 (61.148.146.178) 1.121 ms 61.51.117.2 (61.51.117.2) 1.328 ms
7 202.106.48.18 (202.106.48.18) 2.869 ms 61.49.168.78 (61.49.168.78) 2.843 ms 2.721 ms
簡單的的操作如下,
#查看路由狀態(tài):
route print
#只查看ipv4(ipv6)路由狀態(tài):
route print-4(-6)
#添加路由:route add 目的網(wǎng)絡(luò) mask 子網(wǎng)掩碼 網(wǎng)關(guān) METRIC 躍點數(shù) ---- 臨時
route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 METRIC 3
# 添加永久:route -p add 目的網(wǎng)絡(luò) mask子網(wǎng)掩碼 網(wǎng)關(guān) METRIC 躍點數(shù)
route -p add 192.168.1.0 mask 255.255.255.0 192.168.1.1 METRIC 3
# 刪除路由:route delete 目的網(wǎng)絡(luò) mask 子網(wǎng)掩碼(如果目的網(wǎng)絡(luò)唯一可以不寫子網(wǎng)掩碼)
route delete 192.168.1.0 mask 255.255.255.0
聯(lián)系客服