3G 모뎀과 이더넷 인터페이스(eth0)가 있는 Ubuntu 18.04 LTS를 실행하는 임베디드 시스템이 있습니다.
두 인터페이스 모두 인터넷에 대한 액세스를 제공합니다.
이더넷 인터페이스가 인터넷에 접속할 수 없는 경우(네트워크 케이블 분리) 시스템이 항상 인터넷에 접속할 수 있도록 기본 게이트웨이를 3G 모뎀 중 하나로 자동 설정하고 싶습니다.
이제 테스트 목적과 단순화를 위해 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를 제어할 수 있는 서비스를 작성할 수 있습니다.