macOS Sierra L2TPクライアントに特定のインターフェースを使用させる


2

私は自分のマシンにWiFi(en0)とイーサネット(en8)の接続がある。各インターフェースは別々のネットワーク上にあり、en0はen8よりも優先されます。

en0のゲートウェイは 192.168.100.1 そしてen8ではそれは 172.20.10.1

私がアクセスする必要があるサービスはen0ネットワークでのみ利用可能であり、VPNはen2ネットワーク経由でのみ利用可能です。

私はmacOS Sierra L2TPクライアントにen8を使わせるようにしたいのです。接続したいIPアドレスをen2のゲートウェイに経路指定するための静的経路を追加し、以下を実行することによって検証しました。 trace get <vpn address>

しかし、それでも接続は失敗し、ログインを見ると /var/ppp/ppp.log L2TPクライアントはまだen0ゲートウェイを通過しようとしているようです。

Wed Mar 22 13:53:10 2017 : l2tp_get_router_address 192.168.100.1 from dict 1

下記のルーティングテーブル: routing table


おっと、私は今それを追加しました。
nothingtosee

の出力を追加してください netstat -f inet -r
klanomath

@klanomath投稿をルーティングテーブルで更新しました。私は今新しいマシンを使っています、そしてインターフェースは今それぞれen0とen8です。
nothingtosee

回答:


1

macOSに2つのデフォルトゲートウェイがあると、次のようになります。優先順位の高いインターフェイスのゲートウェイがデフォルトゲートウェイになり、他のゲートウェイは無視されます。

注文を得るには、ターミナルに入ります。 networksetup -listnetworkserviceorder

そのため、インターフェイスen8のデフォルトゲートウェイを削除し、VPNサーバーへのカスタムルートを追加します。

sudo route add -host <VPN-server-ip-address> -interface en8

または

sudo route add -host <VPN-server-ip-address> -link <MAC-of-en8>

またはネットワークに接続します(ここではネットワーク例:10.0.0.0/16)。

sudo route -n add -net 10.0.0.0/16  172.20.10.1

VPNサーバーのネットワーク環境に応じて、ローカルの172.20.10.0 / 28ネットワークを指す2番目の逆ルートをそこに追加する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.