私は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
これにより、すべてがうまくいくようです。