web-dev-qa-db-ja.com

NetworkManagerがデフォルトのルーティングポリシーを変更する

組み込みのマシンNIC(eth0)があり、これはRaspberry PiのDHCPサーバーとして機能します。イーサネットデバイスeth1として表示されるUSB 3Gモデムも持っています。 eth0には/etc/network/interfacesに静的IP 192.168.100.1があります。Piをサーバーに接続すると、/var/log/syslogに表示されます

NetworkManager[2366]: <info> Policy set 'Ifupdown (eth0)' (eth0) as default for IPv4 routing and DNS.

以降、ip route show

default via 192.168.1.100 dev eth0  proto static

その後、手動で行う必要があります

ip route delete default
ip route add default via 192.168.1.1

再び3Gモデム経由でインターネットに接続します。私はサーバーでDebian 7 wheezyに基づいたCrunchBang Linuxを使用しており、Piで最新のRaspbianを使用しています。

NetworkManagerが優先するデフォルトの経路を選択するにはどうすればよいですか?

編集:こちらが私の/etc/network/interfacesです:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet static
    address 192.168.100.1
    netmask 255.255.255.0

allow-hotplug eth1
auto eth1
iface eth1 inet dhcp

/etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=true

nm-appletを使用して3Gモデムeth1を切断できるようにしたいので。 /etc/NetworkManager/NetworkManager.confは次のとおりです:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true
3
appas

GUIを使用している場合は、[この接続のリソースにのみ使用する]チェックボックスをオンにしてみてください。

(あなたのように)設定ファイルを使用している場合:)、[ipv4]セクション追加never-default=true

このようにして、トンネルに入るデフォルトルートを削除して、独自のルートを追加できます。

4
Richlv

私は4年遅れていますが、この問題を発見して修正するのに12時間費やしました。ここで同様の状況:ARMベースのJetson NanoがLinux 4 TegraカーネルとUbuntu 18.04 OSを実行し、イーサネットポート(eth0)がローカルネットワークに使用され、USBセルラードングル(eth1)がインターネットに使用されている) 。

症状は似ています-イーサネットケーブルがインターフェイスに接続されると、インターフェイスが起動し、3分後に表示されます。

NetworkManager [3773]:[1562908622.2587]ポリシー:IPv4ルーティングおよびDNSのデフォルトとして「有線接続1」(eth0)を設定します

syslogとインターネット接続が切断されます。

NetworkManagerは、プログラムするのが難しい神秘的な方法で機能します。ユーザーが前に座って必要に応じてリセットできるようにするのに適しています。私にはその贅沢がないので、それを働かせなければなりませんでした。

最終的に機能したのは、eth1のipv4.route-metricを低く(優先度を高く)設定することでした。 route -nの出力を確認して、現在のメトリックを確認します。一部のルートで追加の20000を無視します。これは、NetworkManagerがインターネット接続を持たないルートの優先順位を下げようとするものですが、やっかいです。

したがって、eth0のメトリックが100であるとします。

Sudo nmcli con mod "Wired connection 2" ipv4.route-metric 99

そして再起動します。

トラブルシューティングの10時間を節約するために、ルートメトリックはDNS優先度とは無関係であることに注意してください。それでも接続の問題がある場合は、それがDNS解決の問題ではないことを確認してください(たとえば、DHCPサーバーがダミーの解決サービスを提供している)。ある場合は、eth0接続のipv4.dns-priorityを増やして優先度を低くするか、eth1のipv4.dns-searchが「〜」に設定されていることを確認して、目的のオプションにしてください。

4
Heath Raftery

ネットワーク管理者は常に設定を上書きします。編集する必要があります:

vi/etc/network/interfaces

Eth0を見つけて設定します。

gateway 192.168.1.1

ネットワークサービスを再開します。

/etc/init.d/networking restart
1
ravasquezgt