저는 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
이렇게 하면 모든 것이 잘 돌아가는 것 같습니다.