再起動中に不要なデフォルトゲートウェイが追加されるのを防ぐ方法

再起動中に不要なデフォルトゲートウェイが追加されるのを防ぐ方法

私はDebianシステムでWebサーバーを実行するためにBeaglebone Blackを使用しています。 BBBはインターネットに直接アクセスせず、ローカルネットワーク(192.168.5.xyz)でDHCP + DNS(dnsmasqを使用)として機能します。 BBBからIPを検索するデバイスを簡単に接続できます。今まではそんなに良くなった。

たとえば、家にいる場合は、この小さなネットワークにインターネットアクセスを追加したいと思います。したがって、このネットワークはインターネット接続を提供し、ネットワーク内に固定IPアドレス(192.168.5.254)を持つルーターに接続しました。そのため、ルータのIPを/etc/network/interfacesファイルに追加しました。

/etc/ネットワーク/インターフェース:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet dhcp

allow-hotplug eth0
iface eth0 inet static
address 192.168.5.1
netmask 255.255.255.0
gateway 192.168.5.254

ところで、何らかの理由でBBBを再起動するたびに、デフォルトのルートエントリが追加されます。 GW 0.0.0.0の基本項目を手動で削除/更新すると、すべてが正常に機能します。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         0.0.0.0         0.0.0.0         U     0      0        0 eth0
default         192.168.5.254   0.0.0.0         UG    0      0        0 eth0
link-local      0.0.0.0         255.255.0.0     U     0      0        0 eth0
192.168.5.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

起動中に不要なデフォルトゲートウェイが追加されたようです。 logctl -b:


Nov 06 11:29:40 webserver connmand[1827]: eth0 {add} address 192.168.5.1/24 label eth0 family 2
Nov 06 11:29:40 webserver avahi-daemon[1792]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.5.1.
Nov 06 11:29:40 webserver connmand[1827]: eth0 {add} route 192.168.5.0 gw 0.0.0.0 scope 253 <LINK>
Nov 06 11:29:40 webserver avahi-daemon[1792]: New relevant interface eth0.IPv4 for mDNS.
Nov 06 11:29:40 webserver avahi-daemon[1792]: Registering new address record for 192.168.5.1 on eth0.IPv4.
Nov 06 11:29:40 webserver connmand[1827]: eth0 {add} route 0.0.0.0 gw 192.168.5.254 scope 0 <UNIVERSE>

/etc/network/interfacesに「必要な」パスを作成することもできます。これもConnman Deamonが作成したものです。しかし、/etc/connman/main.confゲートウェイ 0.0.0.0 に接続するデフォルトのパスではないファイル:

[General]
PreferredTechnologies=ethernet,wifi
SingleConnectedTechnology=false
AllowHostnameUpdates=false
PersistentTetheringMode=true
NetworkInterfaceBlacklist=SoftAp0,usb0,usb1

追加のルートが追加される場所を確認し、それを防ぐ方法についてのヒントはありますか?起動中に呼び出されるいくつかのスクリプトを見ましたが、見つかりませんでした。それとも、eth0を完全に間違って設定していますか?

ベストアンサー1

connmand(ConnManデーモン)によってパスが追加されたことがわかります。一般的なインターフェイス設定とは何の関係もなく、個別の設定です。完全に無効にできない場合(BBBで必要かどうかがわからない場合)、その構成を確認する必要があります。その設定を公開し、どのタスクにconnmanが必要かを教えてください。


この場合、解決策は/etc/connman/main.conf最後の行をに変更してconnmanのeth0処理を無効にすることですNetworkInterfaceBlacklist=eth0,SoftAp0,usb0,usb1
これにより、パスの出力が次のように変更されます。

Kernel IP routing table
Destination    Gateway        Genmask        Flags  Metric Ref  Use  Iface
default        192.168.5.254  0.0.0.0        UG     0      0    0    eth0
192.168.5.0    0.0.0.0        255.255.255.0  U      0      0    0    eth0

これにより、すべてがうまくいくようです。

おすすめ記事