問題場景:
舊版的macOS Catalina連接vpn并且添加路由地址是可以正常的訪問公司內網(wǎng)跟正常訪問網(wǎng)絡的潜支,但是新版的macOS Monterey按照舊版的操作執(zhí)行完以后會發(fā)現(xiàn)只能夠訪問公司的內網(wǎng)甸赃,但是無法正常訪問網(wǎng)絡,甚至ping www.qq.com都是ping不通的冗酿。
故障排查:
出現(xiàn)了故障先不要慌埠对,我們先冷靜分析一下有什么情況會導致只能上內網(wǎng)而不能上外網(wǎng)?裁替?
很顯而易見網(wǎng)絡是沒有問題的鸠窗,出現(xiàn)這種情況極大可能是默認網(wǎng)關或者是路由地址被替代了,所以我們著重從這兩個點去排查胯究。
- 第一步先查看未連接vpn時的默認路由,執(zhí)行命令如下稍计,正常情況會跟如下一樣,wifi為en0裕循,有線直連一般為en7
route -n get default
步驟2進行vpn連接后再次執(zhí)行 route -n get default 命令查看當前默認的路由信息臣嚣,這里就不截圖了净刮,不出意外的情況這里會被修改成ppp0。
經(jīng)過上面的步驟你會發(fā)現(xiàn)硅则,路由信息因為剛剛的vpn連接后已經(jīng)被修改為ppp0了淹父,這就是導致上不了網(wǎng)的原因。
解決方案
經(jīng)過上面的排查已經(jīng)得出結果怎虫,問題就出在這個默認路由上暑认,下面直接上解決的方法。
-
先把網(wǎng)絡偏好的排序設置好大审,這里是重點蘸际,一定要把vpn這個設置到第一位,點擊最下面的···符號有網(wǎng)絡偏好的排序設置徒扶。
image.png 我把解決的方案寫成了腳本粮彤,根據(jù)個人情況修改便可以了。
#!/bin/sh
#獲取非ppp*的默認路由姜骡,用以排除vpn路由
defInterface=`netstat -rn | grep 'default'|grep -v 'ppp' | awk '{print $4}'| awk 'NR==1{print}'`
echo 默認連接: ${defInterface}
#校驗當前默認路由
verificationInterface(){
#判斷當前默認路由是否為ppp*导坟,為真則重置路由信息
route -n get default | grep 'interface' | awk '{print $2}'|grep ppp
if [ $? -eq 0 ];then
echo 執(zhí)行重置interface
# 刪除VPN路由
#password為你的root管理員密碼
echo password | sudo -S route -n delete default
#添加默認路由
echo password | sudo -S route -n add -net 0.0.0.0 -interface ${defInterface}
#tips
echo 默認連接: ${defInterface}
fi
}
#執(zhí)行校驗函數(shù)
verificationInterface
執(zhí)行完上面的腳本,再吃執(zhí)行 route -n get default 命令查看你的默認路由修改回來沒有圈澈,修改成功的話惫周,這代表你的配置已經(jīng)生效了。
本文教程到此結束康栈,希望對你有幫助闯两!