MacOS下雙網關設置(Wi-Fi 和網線同時訪問内網和外網)
公司爲了安全,需要在内網環境下使用雲桌面進行開發,但是連接網線後 WiFi 就失效,所以需要配置雙網關。
目的:通過無線訪問外網,有線訪問ip地址以50開頭的内網,且無線的優先級高。
1.1:首先連接網線查看配置
記下ip 地址,子網掩碼和路由器。後面配置使用。
1.2:打開終端,輸入
netstat -rt
解釋一下與本次有關的幾個參數
Destination:後面的參數代表着,如果前往這個ip的話,應該如何分配網關,網卡等,以及狀态信息,都是針對前往這個ip的情況的
Gateway:如果需要前往這個ip,應該從哪個網關過去,這裏有兩種情況,即有内外網用不同網關的,也有内外網用相同網關的。
Netif,en0,en2分别代表了我的兩張網卡,不同的機器名稱不同,結合自己電腦情況而定。
此時連接網線情況是,可以訪問内網不能訪問外網。
1.3: 寫入網關
此時隻需要修改前往公司内網地址的網關就可以了,比如你需要訪問的内網地址是50.12.15.*,而公司的内網網關是14.10.9.254,那麽就這樣寫
sudo route add 50.0.0.0 14.10.9.254
- 寫成 50.0.0.0 的原因是隻要 50 開頭的地址都可以訪問,省去反複配置的麻煩
輸入命令後回車,需要輸入電腦密碼,這裏我已經配置過了所以提示已經存在。
如果未配置過也提示已存在可以使用以下命令删除一下
Pythonsudo route delete 50.0.0.0 14.10.9.254
此時再通過 netstat -rt 查看一下
如已經出現,就是寫入成功。如果沒寫入成功反複執行以上步驟,直到寫入成功。
- 注意:此時一定是連接着網線進行寫入的,否則可能會不生效。
1.4:修改無線網卡的優先級,使之大于有線網卡
打開網絡
左下角的齒輪,更改服務順序,拖動wifi到有線網卡上面就可以了(我的有線網卡是AX88772D)
此時變成的狀态是連着無線,插着網卡,以無線網卡優先,既可以訪問内網,也可以上外網(蘋果默認的是插上有線網絡有線優先)
1.5:每次重啓電腦或拔下網線配置會失效,所以配置一個自動執行腳本
打開Mac 自帶的自動操作小機器人(Automator)。
找到第二列的AppleScript,随後我們就要在Automator中編寫一段mac的自動化腳本。
Pythonon run {input, parameters} do shell script "route add 50.1.0.0/32 14.10.9.254" user name "用戶名" password "密碼" with administrator privileges do shell script "route add 50.0.0.0 14.10.9.254" user name "用戶名" password "密碼" with administrator privileges return input end run
把我們剛剛編輯的内容都用系統管理員權限寫入腳本,并保存成一個應用程序就可以了,以後每次開機,都隻需要雙擊就可以重新恢複路由配置。還可以更簡便,将這個應用程序添加到開機啓動項中,每次開機後就會自動執行了。
總結:市面上 Windows 配置雙網關的教程有很多,Mac 的卻很少,也是通過到處查詢的方式總結出來的這篇文章,其中也踩了不少坑,分享出來希望對大家有所幫助。如果您知道有更好的辦法,請不吝賜教🙏
- 注意:此時一定是連接着網線進行寫入的,否則可能會不生效。