Ubuntuルーティングテーブル:dockerエントリが原因でVPNが解決されない

Ubuntuルーティングテーブル:dockerエントリが原因でVPNが解決されない

これは私のパス出力です(一部)。

ここに画像の説明を入力してください。

VPNからアクセスする必要があるプライベートIPがあります。 IPは172.17 ...で始まります。 docker0エントリを削除すると、個人用IPにアクセスできます。ただし、ラップトップを再起動するたびに、docker0エントリが再度追加されます。

228.1で終わるルールが最初に解決されるように、ルーティングテーブルの順序を変更できますか?これは短期的な解決策かもしれませんが、私にはたくさんの助けになりました。

ベストアンサー1

同じネットワーク名前空間で同じサブネット(172.17.0.0)に対して互いに関連しない2つの用途(1 = docker、2 = VPN)があります。これはどちらか一方に間違いなく問題を引き起こすでしょう。

Dockerルーティングのメトリックが低いため、Docker設定はVPN設定よりも優先順位が高くなります。この指標は、ルーティングコマンド出力の5番目の列です(docker = 0、VPN = 50)。メトリックが低いほど優先順位が高くなります(ip-routeのマニュアルページを参照して、メトリックまたはデフォルト設定を探します)。

両方のパス(dockerとVPN)が設定されている場所を見つけて、インジケータを変更できます。ルーティングが設定されている場所(Linuxディストリビューションとバージョン、Dockerのインストール方法、インストールされたVPNパッケージなど)を見つけるのに役立つように、設定について詳しく知る必要があります。ただし、VPNルーティングに高い優先順位を付けると、Docker設定が機能しないと仮定します。おそらくあなたの場合は問題ありません(つまり、docker設定を使用せずに偶然にインストールした可能性があります)。 Dockerがインストールされているが必要ない場合は、メトリックパラメータを変更するのと同じくらい簡単です。

デフォルトでは、比較的単純なソリューションの場合、起動時に2つの設定(dockerまたはVPN)のいずれかに優先順位があり、アクセスするには手動で何かを変更する必要があります(今のようにルーティングテーブルからdocker0パスを削除して実行します)。追加設定。

おすすめ記事