재부팅 중에 원치 않는 기본 게이트웨이가 추가되는 것을 방지하는 방법

재부팅 중에 원치 않는 기본 게이트웨이가 추가되는 것을 방지하는 방법

저는 Debian 시스템에서 웹 서버를 실행하기 위해 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

이렇게 하면 모든 것이 잘 돌아가는 것 같습니다.

관련 정보