1. ? 使用背景
??????? 需要接入兩個網絡,一個是部署環境所在內網環境,這個環境是上不了外網, 外網環境很可能是一個無線網絡。如果兩者都連接上,很可能導致有一方不能起作用,即外網或內網上不了,常常需要使用繁瑣的“禁用網絡連接”、“啟用網絡連接”的操作來進行內外網的切換,甚是麻煩。
??????? 為了解決這個問題,可以使用route命令來使得同時內外網都可用。
2. ? route命令
route命令是在本地 IP 路由表中顯示和修改條目網絡命令。
route命令的語法如下:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
route命令常用的命令如下:
1)route delete:刪除路由;
2)route print:打印路由的Destination;
3)route add:添加路由;
4)route change:更改現存路由。
一般使用route delete、route add、route print這三條命令可解決路由的所有功能。
2.1 打印路由信息
? ? ? ?打印路由信息使用命令:route print。
===========================================================================
Interface List
0x1 ?MS TCP Loopback interface
0x2 00 26 18 31 4f d1 ?Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ether
net NIC – 數據包計劃程序微型端口
0x50004 00 53 45 00 00 00 ?WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Active Routes:
Network Destination ? ? ? ?Netmask ? ? ? ? ?Gateway ? ? ? Interface Metric
? ? ? ? ? 0.0.0.0 ? ? ? ? ?0.0.0.0 ? 116.69.106.119 116.69.106.119 ? ? ? 1
? ? ? ? ? 0.0.0.0 ? ? ? ? ?0.0.0.0 ? ?192.168.2.226 ? ?192.168.2.79 ? ? ? 20
? ? 115.168.64.94 255.255.255.255 ? 116.69.106.119 116.69.106.119 ? ? ? 1
? ?116.69.106.119 255.255.255.255 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 50
?116.255.255.255 255.255.255.255 ? 116.69.106.119 116.69.106.119 ? ? ? 50
? ? ? ? 127.0.0.0 ? ? ? ?255.0.0.0 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 1
? ? ? 192.168.2.0 ? ?255.255.255.0 ? ? 192.168.2.79 ? ?192.168.2.79 ? ? ? 20
? ? ?192.168.2.79 255.255.255.255 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 20
? ? 192.168.2.255 255.255.255.255 ? ? 192.168.2.79 ? ?192.168.2.79 ? ? ? 20
? ? ? ? 224.0.0.0 ? ? ? ?240.0.0.0 ? ? 192.168.2.79 ? ?192.168.2.79 ? ? ? 20
? ? ? ? 224.0.0.0 ? ? ? ?240.0.0.0 ? 116.69.106.119 116.69.106.119 ? ? ? 1
?255.255.255.255 255.255.255.255 ? 116.69.106.119 116.69.106.119 ? ? ? 1
?255.255.255.255 255.255.255.255 ? ? 192.168.2.79 ? ?192.168.2.79 ? ? ? 1
Default Gateway: ? ?116.69.106.119
===========================================================================
Persistent Routes:
?None
第一列是網絡目的地址。列出了路由器連接的所有的網段。
第二行網絡掩碼列提供這個網段本身的子網掩碼,而不是連接到這個網段的網卡的子網掩碼。這基本上能夠讓路由器確定目的網絡的地址類。
第三列是網關。一旦路由器確定它要把這個數據包轉發到哪一個目的網絡,路由器就要查看網關列表。網關表告訴路由器這個數據包應該轉發到哪一個IP地址才能達到目的網絡。
第四列接口列告訴路由器哪一個網卡連接到了合適的目的網絡。從技術上說,接口列僅告訴路由器分配給網卡的IP地址。那個網卡把路由器連接到目的網絡。然而,路由器很聰明,知道這個地址綁定到哪一個物理網卡。
第五列是測量。測量本身是一種科學。該值越小的,可信度越高
下面說說每一行內容代表的內容:
NetworkDestination ? ? ?Netmask ? ? ? ? ?Gateway ? ? ? ? ? ? ? Interface ? ? ? ???? Metric
????????? 0.0.0.0?? ? ? ? ? ? ? ? ? ?0.0.0.0 ? ? ? ? ?116.69.106.119 ? ? 116.69.106.119 ? ? ?1
? ???? 這表示發向任意網段的數據通過本機接口116.69.106.119被送往一個默認的網關:116.69.106.119,它的管理距離是1,管理距離指的是在路徑選擇的過程中信息的可信度,管理距離越小的,可信度越高。
第二行的內容:
Network Destination ? ? ?Netmask ? ? ? ? ?Gateway ? ? ? ? ? ???? Interface ? ? ? ? Metric
?????????? 0.0.0.0 ? ? ? ? ? ? ? ? ? ?0.0.0.0 ? ? ? ? ?192.168.2.226 ???? 192.168.2.79 ? ? ?20
? ? ?? 這表示發向任意網段的數據通過本機接口192.168.2.79被送往網關192.168.2.226,但是因為該行的管理距離(Metric)比第一行大,即表示第二行的可信度沒有第一行高,所以在默認情況下會優先選擇第一行的網關出去。
第三行的內容:
Network Destination ? ? ?Netmask ? ? ? ? ?????????? Gateway ? ? ? ??????????? Interface ? ? ? ? ?Metric
????? 115.168.64.94 ? ? ? ? ? 255.255.255.255 ? ?116.69.106.119??????? 116.69.106.119 ? ? ? 1
第四行的內容:
Network Destination ? ? ?Netmask ? ? ? ? ???????? Gateway ? ? ? ? Interface ? ? ? ? ?Metric
???? 116.69.106.119 ? ? ? ? ?255.255.255.255 ? ?127.0.0.1 ? ? ? ?127.0.0.1 ? ? ? ? ? ? 50
? ? ??表示從自己的主機發送到自己主機的數據包,如果使用的是自己主機的IP地址,跟使用回環地址效果相同,通過同樣的途徑被路由,也就是如果我有自己的站點,我要瀏覽自己的站點,在IE地質欄里面輸入localhost與116.69.106.119是一樣的,盡管localhost被解析為 127.0.0.1。
?第五行的內容:
Network Destination ? ? ?Netmask ? ? ? ? ?????? Gateway ? ? ? ????????? Interface ? ? ? ? ? ? ? Metric
116.255.255.255 ? ? ? ? ?255.255.255.255 ? ?116.69.106.119??? 116.69.106.119 ? ? ? 50
? ?這里的目的地址是一個局域廣播地址,系統對這樣的數據包的處理方法是把本機116..69.106.119作為網關,發送局域廣播幀,這個幀將被路由器過濾。
第六行的內容:
Network Destination ? ? ?Netmask ? ? ? ? ?Gateway ? ? ? ? Interface ? ? ? ? ?Metric
?????? 127.0.0.0 ? ? ? ? ? ? ? ? ? 255.0.0.0 ? ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? ? ? 1
2.2?刪除路由信息
所用的命令為:
route delete 網絡目的地址 [mask] [子網掩碼]
? ?例如想要刪除網絡目的地址為192.168.2.0,子網掩碼為255.255.255.0的路由,可用:
route delete 192.168.2.0 mask 255.255.0.0
? ? 刪除路由時還可以用模糊匹配,例如要刪除以115開頭的IP路由表中的所有路由時,可用:
route delete 115*
2.3?添加路由信息
? ? ? ?添加路由信息使用如下命令:
route add 網絡目的地址 mask 子網掩碼網關 [metric] [測量值]
? ?例如若要向帶有255.255.0.0子網掩碼、10.27.0.1網關,測量值為7的10.41.0.0的目標地址添加一條路由,可使用如下命令:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
3. ? 應用實例
??????? 以調試環境為例,需要接入內網進行調試,內網地址為5.0.217.47。另外接了個無線,可以上外網自動分配了個192.168.2.110。
插上內網網線,并成功連接上外網后,此時內網是通的,但是外網連接不上。在命令窗口使用ipconfig和route print命令可以打印出當前的信息:
route print
===========================================================================
Interface List
0x1 ?MS TCP Loopback interface
0x2 00 26 18 31 4f d1 ?Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ether
net NIC – 數據包計劃程序微型端口
0x3 00 24 2c e7 57 11 ?Atheros AR5006X Wireless Network Adapter – 數據
包計劃程序微型端口
===========================================================================
===========================================================================
Active Routes:
Network Destination ? ? ? ?Netmask ? ? ? ? ?Gateway ? ? ? Interface Metric
? ? ? ? ? 0.0.0.0 ? ? ? ? ?0.0.0.0 ? ? ? ?5.0.217.1 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ? ? 0.0.0.0 ? ? ? ? ?0.0.0.0 ? ? ?192.168.1.1 ? 192.168.1.110 ? ? ? 25
? ? ? ? 5.0.217.0 255.255.255.192 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ?5.0.217.47 255.255.255.255 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 10
? ? 5.255.255.255 255.255.255.255 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ? 127.0.0.0 ? ? ? ?255.0.0.0 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 1
? ? ? 192.168.1.0 ? ?255.255.255.0 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 25
? ? 192.168.1.110 255.255.255.255 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 25
? ? 192.168.1.255 255.255.255.255 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 25
? ? ? ? 224.0.0.0 ? ? ? ?240.0.0.0 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ? 224.0.0.0 ? ? ? ?240.0.0.0 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 25
?255.255.255.255 255.255.255.255 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 1
?255.255.255.255 255.255.255.255 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 1
Default Gateway: ? ? ? 192.168.1.1
===========================================================================
Persistent Routes:
?None
ipconfig
Windows IP Configuration
Ethernet adapter 本地連接:
? ? ? ? Connection-specific DNS Suffix . :
? ? ? ? IP Address. . . . . . . . . . . . : 5.0.217.47
? ? ? ? Subnet Mask . . . . . . . . . . . : 255.255.255.192
? ? ? ? Default Gateway . . . . . . . . . :
Ethernet adapter 無線網絡連接:
? ? ? ? Connection-specific DNS Suffix . :
? ? ? ? IP Address. . . . . . . . . . . . : 192.168.1.110
? ? ? ? Subnet Mask . . . . . . . . . . . : 255.255.255.0
? ? ? ? Default Gateway . . . . . . . . . : 192.168.1.1
由route print命令的結果的第一行可以看到,只所以訪問不到外網,是因為默認的情況是通過5.0.217.1的內網的網關出去的。
為了達到能同時訪問內外網的需求,只需要刪除掉0.0.0.0的路由后,添加兩條路由即可,將5開頭的地址都通過5.0.217.1網關路由出去,而其余的地址都通過無線的網關192.168.1.110出去。參考如下:
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
route add 5.0.0.0 mask 255.0.0.0 5.0.217.1
此時運行route print命令,可看到運行結果如下:
route print
===========================================================================
Interface List
0x1 ?MS TCP Loopback interface
0x2 00 26 18 31 4f d1 ?Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ether
net NIC – 數據包計劃程序微型端口
0x3 00 24 2c e7 57 11 ?Atheros AR5006X Wireless Network Adapter – 數據
包計劃程序微型端口
===========================================================================
===========================================================================
Active Routes:
Network Destination ? ? ? ?Netmask ? ? ? ? ?Gateway ? ? ? Interface Metric
? ? ? ? ? 0.0.0.0 ? ? ? ? ?0.0.0.0 ? ? ?192.168.1.1 ? 192.168.1.110 ? ? ? 1
? ? ? ? ? 5.0.0.0 ? ? ? ?255.0.0.0 ? ? ? ?5.0.217.1 ? ? ?5.0.217.47 ? ? ? 1
? ? ? ? 5.0.217.0 255.255.255.192 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ?5.0.217.47 255.255.255.255 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 10
? ? 5.255.255.255 255.255.255.255 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ? 127.0.0.0 ? ? ? ?255.0.0.0 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 1
? ? ? 192.168.1.0 ? ?255.255.255.0 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 25
? ? 192.168.1.110 255.255.255.255 ? ? ? ?127.0.0.1 ? ? ? 127.0.0.1 ? ? ? 25
? ? 192.168.1.255 255.255.255.255 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 25
? ? ? ? 224.0.0.0 ? ? ? ?240.0.0.0 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 10
? ? ? ? 224.0.0.0 ? ? ? ?240.0.0.0 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 25
?255.255.255.255 255.255.255.255 ? ? ? 5.0.217.47 ? ? ?5.0.217.47 ? ? ? 1
?255.255.255.255 255.255.255.255 ? ?192.168.1.110 ? 192.168.1.110 ? ? ? 1
Default Gateway: ? ? ? 192.168.1.1
===========================================================================
Persistent Routes:
?None
? ?可看到默認是通過無線的192.168.1.110出去的,此時內外網都可以同時用了
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97299