Mac OS X 透過 DSL 的 PPTP VPN 問題

Mac OS X 透過 DSL 的 PPTP VPN 問題

我有一台運行 OS X Yosemite(甚至 El Capitan)版本 10.10.5 的 MacBook Air,我使用 ADSL 連接連接到我的大學內部網絡,工作正常,但當我使用 PPTP VPN 連接到互聯網時,我無法打開不再有任何網頁,但Telegram 可以工作,我可以ping 所有伺服器。

此問題僅出現在MacBook/iPhone上,Windows使用者沒有任何問題。

如果我將我的網路路由到另一台電腦(使用這個關聯)誰共享他的 VPN 連接,互聯網就沒有問題。

問我更多詳情

答案1

最後我找到了我的問題的答案。如中所述這個連結這個問題是由於 MTU 太高造成的。所以解決方法是:

看起來,在 ping 功能正常的情況下,問題在於您的 MTU 太高,因為 VPN 添加了標頭,這意味著封包會被分段並被丟棄。若要調整 Mac 上的 MTU,請開啟

系統偏好設定>網路>[你的聯絡方式]>先進的>硬體>配置:{手動、自動}

在那裡您將看到它是否自動配置,它將是 1500,因為這在正常的乙太網路連接上正常運作。您需要將其調低,有相當簡單的方法可以了解您的 MTU 需要多大。按照此在這裡指導,您可以使用 ping 來確定最佳 MTU。連接您的 VPN 並開啟終端機視窗:

類型:ping -c 2 -D -s 1472 www.youtube.com 1472 是本例中的資料包大小。您將收到兩個回應之一,ping: sendto: Message too long或正常的 ping 回覆。

由於 1472 + 28 是 1500,因此您應該得到一個Message too long錯誤。減少 ping 值,直到得到肯定的答案。取得運行編號,新增 28 並將其用作 MTU。

[更新]

如中所提到的這個連結您可以使用以下命令開啟自動發現:

  • 僅會話:

    sudo sysctl -w net.inet.tcp.path_mtu_discovery=0

  • 永久:

    回顯“net.inet.tcp.path_mtu_discovery=0”| sudo tee -a /etc/sysctl.conf

[更新2]

看來 sysctl 不起作用。

答案2

在 Windows 上,您可以將 VPN 設定為不使用預設(網際網路)路由。不幸的是,在 macOS 上您無法使用 GUI 進行設定。我的一些同事告訴我,你應該能夠編寫腳本,但我自己還沒有做到。

因此,如果您的學校使用代理或其他方式進行出去,則在連接 VPN 時也必須在 Mac 上進行設定。

相關內容