筆記本配置兩個網絡同時上外網和內網
一般的工作環境中,最常用的辦公模式還是內網辦公。嗯,為了安全嘛,但是關鍵特么整個網絡都是內網的。作為一個拷貝忍者,這讓我十分痛苦,大家應該都懂磨磨蹭蹭用手機百度的痛了。有的公司好一點點,會給你一個代理,然而也是80%的網站都訪問不了,或很多圖片也看不到,微信什么的也沒法登。一個閹割版的外網,就像原本是密不透風的鐵皮房給你換成了鳥籠一樣。
研究了一上午,終于有辦法解決這個問題了,首先我是筆記本,是可以連接WIFI的,網線是內網。解決方式就是:通過手機開熱點連接WIFI訪問外網,通過網線連接訪問內網。
唯一美中不足的是,我可憐的流量消耗更快了。。。
1.連接兩個網絡
首先連接網線(內網)和WIFI(外網),如圖
2.查看系統路由
然后打開cmd命令行,輸入
route print
查看系統路由,看到下圖這里,如圖兩個0.0.0.0的行,分別就是我的網線和WIFI。
記住網關行,這里是:172.16.149.1和192.168.43.1,而且要分清哪個是網線哪個是WIFI,如果不清楚可以到控制面板的網絡連接里查看。
分清楚后,我們開始配置route路由
3.配置路由
首先刪除舊的兩個路由,輸入
route delete 0.0.0.0
提示操作成功后,再設置外網的網關路由,輸入
route -p add 0.0.0.0 mask 0.0.0.0 192.168.43.1
這個是設置WIFI為外網訪問,-p參數是設置為永久路由,就不用每次都反復設置了。
然后我們會發現現在已經可以訪問外網了,但是內網還不行。
內網的設置要麻煩一點,需要一次一次設置,沒法一次搞定,例如我有個內網的網址需要訪問:
http://192.168.21.11:9090/html/index.html
就需要把192.168.21.11這個網段設置路由為內網網關,輸入如下:
route -p add 192.168.21.11 mask 255.255.255.255 172.16.149.1
或者刪除mask 255.255.255.255,直接這樣也可以
route -p add 192.168.21.11 172.16.149.1
mask 255.255.255.255是什么?
mask表示此路由項的子網掩碼,如果不指定,默認就是255.255.255.255。這個我的確不知道原理是什么,一開始我按百度上的輸入255.255.255.128,沒用。然后按照控制面板里看到的255.255.255.0,也沒用。最后實在搞不定,刪除了這一塊,也就是使用默認的255.255.255.255,沒想到就成了。
注意,這只是設置了一個網址,你內網有多少網址,就要設置多少次,沒辦法,你不能指望它自動幫你區分哪個是外網的網站,哪個是內網的網站。
至此,我們已經成功了,可以簡單的同時訪問內外網了。
4.內網域名解析錯誤
但是僅僅如此還是不夠的,我們公司的內網,不僅僅是IP+端口就能解決的,它還有【域名】。
有些內網網址,是通過域名訪問的,這樣你根本就不知道它的IP地址。
雖然有一種方法,可以很快獲取到域名的IP,就是在cmd命令行中,輸入ping www.xxx.com,如圖:
但是,內網有內網的DNS,外網有外網的DNS,如果我們不進行某些配置,ping是獲取不到IP的,如下圖:
什么是DNS?
DNS是域名系統是英文縮寫,簡單說它就是個目錄,專門用于將域名解析成IP的。通常我們訪問一個網站,會自動先訪問DNS獲取到域名的IP,再進行連接。國內也有好幾個公共的DNS,比較有名的像114.114.114.114,這個是國內移動、電信和聯通通用的DNS。
5.配置內網DNS路由
要訪問內網的DNS解析內網域名的IP,首先就要配置內網DNS的路由了。
關于如何查看自己內網的DNS服務器地址,可以參考控制面板的網絡連接的那張圖,免得大家往前翻,我再貼一次圖:
這里我是這兩個:172.26.6.29和172.26.1.15。
那么就要給他們配置路由,如下:
route -p add 172.26.6.29 172.16.149.1
route -p add 172.26.1.15 172.16.149.1
這樣,我們會發現,內網的域名可以通過ping獲取到了
然后就可以通過配置路由,搞定域名了。
然后我們還會發現一個問題
6.外網DNS解析太慢
雖然內網的域名一下就解析出來訪問成功了,但是外網的域名解析奇慢無比,一個大概要解析10-30秒,這就有點難受了,難道我注定不能輕松的在內外網中穿梭嗎?
又是個把小時的搜索,找到了一個解決方法,配置網絡接口躍點數。
什么是網絡接口躍點數?
簡單來說就是:躍點數越小,網絡優先級越高。
說到底,太慢的原因,還是因為DNS默認優先使用的是內網DNS,然后才到外網。通過配置這個點數,我們讓外網DNS的權重更高了一些,它也會優先去訪問外網的DNS。并且通過我個人的測試,內網的DNS解析也不會慢到哪去,是可用的。
首先還是在控制面板的網絡連接,打開網線連接的內網,以太網=》屬性=》TCP/IPv4的屬性=》高級=》接口躍點數,如下圖,這里我們先設置成15,20也行,反正最好大于10。
然后跑到WIFI的網絡屬性里,同樣的流程,WIFI連的是外網,反正要低于內網的躍點數,設置躍點數為10或12。
這里我手動設置了一個DNS,但是感覺好像可設可不設,設置為自動獲取貌似也行。
現在,外網DNS解析過慢的問題也解決了~
7.外網域名解析錯誤
雖然概率很低,但是有時候會產生這種情況,同一個域名,在外網和內網的DNS都能解析出來。
而本應該是內網的域名,卻優先被外網解析出來了,變成了不知道是啥的IP,那自然訪問就必然是失敗的。
本來我以為這種事應該輪不到我,但是還是我天真了,這些麻煩事永遠都是接踵而至。
如圖,這很明顯就是解析錯了,變成了一個外網的IP,它實際上的IP應該是192.168.0.216。
最終還是給我解決了,我們可以手動配置DNS解析。
打開系統的hosts文件,位置在C:windowsSystem32driversetcx下
在最下面一行輸入如下:
192.168.0.216 sso-int2.xxx.com
手動解析域名IP,重新PING一下,如圖,這就對了嘛。
然后還是那套組合拳,route add配置到路由里,OK了。
*8.編寫腳本切換網絡環境
別緊張,目前是沒碰到新問題了,最后這塊是我分享的一些bat腳本。因為我不能長期保持雙網混合使用的情況,而是要時不時切換成:①只用內網,②雙網混合。可憐的流量,禁不起揮霍。。。
每次都要輸入cmd那些,也是太麻煩了,所以我寫了一些bat腳本,在切換網絡時來個雙擊執行,就可以輕松切換了,如下圖
關于創建bat文件,創建一個txt文本,復制代碼進去,然后文件名后綴改成.bat就行了。
然后貼一下代碼
切換到雙網混合:
@echo off
rem 切換外網網關為手機熱點
route delete 0.0.0.0
route -p add 0.0.0.0 mask 0.0.0.0 192.168.43.1
rem 公司DNS1
route delete 172.26.6.29
route -p add 172.26.6.29 172.16.149.1
rem 公司DNS2
route delete 172.26.1.15
route -p add 172.26.1.15 172.16.149.1
rem 打包發包平臺
route delete 192.168.21.11
route -p add 192.168.21.11 172.16.149.1
我只截取了一部分,重點是如果我們要添加一個新的內網網址,如上繼續往下填即可
切換到公司內網:
@echo off
rem 切換為內網網關
route delete 0.0.0.0
route -p add 0.0.0.0 mask 0.0.0.0 172.16.149.1
rem 公司DNS1
route delete 172.26.6.29
rem 公司DNS2
route delete 172.26.1.15
rem 打包發包平臺
route delete 192.168.21.11
rem是注釋就不說了,其實這里的delete去掉也可以,加不加影響不大,畢竟整個網絡環境只有內網了嘛。
但是我有點小小的強迫癥,一定要徹底還原才行,所以前面route add進去的路由,在這個腳本里我就都刪掉了。
如果要刪除配置的所有路由,可以先執行一次切換到公司內網的腳本,刪除大部分路由,再執行一句:
route delete 0.0.0.0
即可完全恢復路由。
然后重連網線或重連WIFI即可,它會像最開始一樣,自動創建一個活動路由的。