DSL 経由の Mac OS X での PPTP VPN の問題

DSL 経由の Mac OS X での PPTP VPN の問題

私は OS X Yosemite (El Capitan も) バージョン 10.10.5 を実行している MacBook Air を持っており、ADSL 接続を使用して大学の内部ネットワークに接続していますが、これは問題なく動作します。しかし、PPTP VPN を使用してインターネットに接続すると、Web ページがまったく開けなくなります。ただし、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 です。2 つの応答のうちの 1 つ、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

  • 永久:

    echo "net.inet.tcp.path_mtu_discovery=0" | sudo tee -a /etc/sysctl.conf

[アップデート2]

sysctl が機能していないようです。

答え2

Windows では、VPN をデフォルト (インターネット) ルートを使用しないように設定できます。残念ながら、Mac OS では GUI でこれを設定することはできません。スクリプトを使用すればできるはずだと同僚の何人かが言っていましたが、私は自分ではやっていません。

したがって、学校がプロキシなどを使用して外部にアクセスしている場合は、VPN に接続しているときに Mac でも設定を行う必要があります。

関連情報