3GモデムとEthernetインターフェース(eth0)を備えたUbuntu 18.04 LTSを実行する組み込みシステムがあります。
どちらのインターフェイスもインターネットへのアクセスを提供します。
イーサネットインターフェイスがインターネットにアクセスできない場合(ネットワークケーブルの取り外し)、システムが常にインターネットに接続できるように、デフォルトゲートウェイを3Gモデムの1つに自動的に設定したいと思います。
テスト目的と簡単化のために、3Gモデムを別のイーサネットインターフェイス(別のネットワークに接続されているUSBイーサネットアダプタ - インターフェイスenxd037458b96e3)に置き換え、eth0のイーサネット接続が切断されると(4ポートギガビットにケーブルで接続されている)ルータのデフォルトゲートウェイが消えます。 USBイーサネットインターフェイスが有効な間はインターネットにアクセスできません(IPアドレスはeth0と同様にDHCPを介して自動的に割り当てられます)。
この場合、Routeコマンドの出力は次のようになります。
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 uap0
192.168.137.0 0.0.0.0 255.255.255.0 U 0 0 0 enxd037458b96e3
そしてeth0が起動または再開されたとき:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.30.102 0.0.0.0 UG 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 uap0
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.137.0 0.0.0.0 255.255.255.0 U 0 0 0 enxd037458b96e3
以下は/etc/network/interfacesの内容です。
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet dhcp
# post-up route add default via [gateway-ip-address] dev eth0
# interface usb eth
allow-hotplug enxd037458b96e3
iface enxd037458b96e3 inet dhcp
# auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
auto uap0
# allow-hotplug uap0
iface uap0 inet static
address 192.168.2.10
netmask 255.255.255.0
broadcast 192.168.2.255
post-up /etc/rc.apstart || true
# post-up /bin/uaputl.exe sys_cfg_80211d country DE || true
# post-up /bin/uaputl.exe sys_config /etc/uapTest.conf || true
# post-up /bin/uaputl.exe bss_start || true
post-down /bin/uaputl.exe bss_stop
post-down /bin/uaputl.exe sys_reset
# post-up /sbin/ifconfig uap0 192.168.0.2
アップデート:eth0インターフェイスとは異なり、USBイーサネットアダプタからケーブルを外すと、ルーティングに常に最後のデフォルトゲートウェイが表示されます。 eth0 インターフェイスを使用すると、デフォルトゲートウェイは消え、ケーブルが接続されるまで復元されません。
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.137.1 0.0.0.0 UG 0 0 0 enxd037458b96e3
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 uap0
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.137.0 0.0.0.0 255.255.255.0 U 0 0 0 enxd037458b96e3
答え1
この質問に似ています。https://askubuntu.com/questions/948453/internet-connection-stops-after-one-interface-is-down-in-ubuntu-serverNetworkManagerを使用して接続(3Gも同様)を管理します。
ただし、最も低いメトリックを持つインターフェイスがインターネットアクセスを失うと、システムはもはやインターネットにアクセスできなくなり、より高いメトリックを持つインターフェイスはインターネットに接続されます(たとえば、3Gモデム)。インターネットインターフェイスの未接続インジケータを手動で増やす必要があります。
インターフェイスバインディングが組み込まれた新しいシステムイメージを要求できるかどうかを見てみましょう。
それ以外の場合は、最も指標の低いデフォルトルートがインターネットに接続されているかどうかを監視し、NetworkManagerを制御できるサービスを作成できます。