2つのネットワークインタフェースを使用して、systemdのデフォルトパス選択をどのように無視できますか?

2つのネットワークインタフェースを使用して、systemdのデフォルトパス選択をどのように無視できますか?

更新:/etc/network/interfaces使用中のため存在しません。netctlはじめに

2つのネットワークアダプタを使用して、ArchLinuxを実行するVirtualBoxインスタンスを設定しました。Adapter 1eth0)はNAT(10.0.2.0/24)に接続され、Adapter 2eth1)はホスト専用ネットワーク(192.168.56.0/24)に接続されています。私はこれらのアダプタにudev古典的な名前を使用するための規則を使用しています(しかし名前にも問題があります)。eth0eth1enp***

ログインすると、次のメッセージが表示されます。

$ip ルーティング
デフォルトでは192.168.56.1 dev eth1
デフォルトは 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 202 を渡します。
10.0.2.0/24 dev eth0プロトタイプdhcp範囲リンクsrc 10.0.2.15メートル法202
192.168.56.0/24 dev eth1プロトタイプカーネルスコープリンクsrc 192.168.56.31

これにより

$ping google.com
ping: google.com: 不明な名前またはサービス

私が理解しているように、これは192.168.56.1(ホスト専用インターフェイス)NATインターフェイスよりも低いメトリックを追加するためです。

その後、手動で行う場合:

$sudo ip ルート削除のデフォルト
$ip ルーティング
デフォルトは 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 202 を渡します。
10.0.2.0/24 dev eth0プロトタイプdhcp範囲リンクsrc 10.0.2.15メートル法202
192.168.56.0/24 dev eth1プロトタイプカーネルスコープリンクsrc 192.168.56.31

わかりました。

$ping google.com
PING google.com (172.217.12.174) 56(84) バイトのデータ。
64 バイト from....1e100.net(172.217.12.174): icmp_seq=1 ttl=52 time=11.9 ms
64 バイト from....1e100.net(172.217.12.174): icmp_seq=2 ttl=52 time=11.7 ms
^C
--- google.com ping統計---
2つのデータパケットを送信する、2つのデータパケットを受信する、0%パケット損失、時間3ms
rtt 最小/平均/最大/mdev = 11.698/11.782/11.867/0.137 ミリ秒

eth0もしそうなら、アウトバウンドトラフィックが/(ホストネットワークのみ)ではなく/ 10.0.2.0/24(ホストへのNATインターフェイス)を介してルーティングされるようにするにはどうすればよいですか?eth1192.168.56.0/24

この質問はVirtualBoxとは何の関係もありません(メトリックを変更できるVirtualBox設定がある場合は問題ありません)。

次のいずれかを実行する方法があると確信しています。 1) systemd がパスを追加するのを防ぐdefault via 192.168.56.1 dev eth1ため、または 2)default via 10.0.2.2 dev eth0毎回デフォルトパスを手動で削除する必要がないように、より低いメトリックを持つパスを追加します。インスタンスを起動します。

まだ考慮していない別の解決策があるかもしれません。これまで、名前、固定IP、DHCPで遊ぶことは役に立ちませんでした。

ゲストオペレーティングシステムはArchLinuxです。

ベストアンサー1

/etc/network/interfaces対応するインターフェイス行をファイルに追加します。

post-up route del default via 192.168.56.1 dev eth1

default via 192.168.56.1 dev eth1インターフェイスが表示されると、パスが削除されます。

おすすめ記事