두 개의 이더넷 인터페이스를 갖춘 K3OS를 실행하는 PC가 있습니다. 하나(eth0)는 고정 IP 주소를 사용하여 DHCP 서버 없이 네트워크에 연결되고, 다른 하나(eth1)는 기본 게이트웨이를 반환하는 DHCP를 사용하여 네트워크에 연결됩니다. K3OS는 connman을 네트워크 관리자로 사용합니다.
두 개의 connman 서비스 c와 d를 구성했습니다.
/net/connman/service/ethernet_00606561750c_cable
Type = ethernet
Security = [ ]
State = ready
Favorite = True
Immutable = False
AutoConnect = True
Name = Wired
Ethernet = [ Method=auto, Interface=eth0, Address=xx:xx:xx:xx:xx:xx, MTU=1500 ]
IPv4 = [ Method=dhcp, Address=10.4.144.15, Netmask=255.255.255.0, Gateway=10.4.144.254 ]
IPv4.Configuration = [ Method=dhcp ]
IPv6 = [ ]
IPv6.Configuration = [ Method=auto, Privacy=disabled ]
Nameservers = [ 10.1.1.60 ]
Nameservers.Configuration = [ ]
Timeservers = [ 10.1.1.60 ]
Timeservers.Configuration = [ ]
Domains = [ domain.com ]
Domains.Configuration = [ ]
Proxy = [ ]
Proxy.Configuration = [ ]
mDNS = False
mDNS.Configuration = False
Provider = [ ]
/net/connman/service/ethernet_00606561750d_cable
Type = ethernet
Security = [ ]
State = ready
Favorite = True
Immutable = False
AutoConnect = True
Name = Wired
Ethernet = [ Method=auto, Interface=eth1, Address=xx:xx:xx:xx:xx:xx, MTU=1500 ]
IPv4 = [ Method=manual, Address=192.168.10.3, Netmask=255.255.255.0 ]
IPv4.Configuration = [ Method=manual, Address=192.168.10.3, Netmask=255.255.255.0 ]
IPv6 = [ ]
IPv6.Configuration = [ Method=off ]
Nameservers = [ 8.8.8.8 ]
Nameservers.Configuration = [ ]
Timeservers = [ ]
Timeservers.Configuration = [ ]
Domains = [ ]
Domains.Configuration = [ ]
Proxy = [ ]
Proxy.Configuration = [ ]
mDNS = False
mDNS.Configuration = False
Provider = [ ]
이제 PC를 다시 시작하거나 서비스를 다시 시작한 후 connman이 설정한 eth1을 통해 기본 경로를 얻게 됩니다. 하지만 eth1에는 게이트웨이 주소가 없으므로 다른 네트워크에 대한 모든 요청이 실패합니다. 내 이해는 connman이 내부 서비스 주문을 갖고 있다는 것입니다. 정렬은 PreferredTechnologies
의 설정을 존중하여 수행됩니다 /etc/connman/main.config
. 동일한 기술의 두 가지 서비스를 사용할 수 있는 경우 준비된 첫 번째 서비스의 우선 순위를 지정합니다(출처:문서). 그러나 내가 이해하지 못하는 것은 connman이 기본 게이트웨이가 없는 네트워크에 기본 경로를 추가하는 이유입니다. 특정 서비스에 기본 게이트웨이가 없다는 것을 connman에게 알리는 방법이 있습니까?
감사해요.
답변1
connman이 블랙리스트에 건드리지 않기를 원하는 인터페이스를 추가할 수 있습니다 /etc/connman/main.conf
.
NetworkInterfaceBlacklist=eth1
이를 통해 경로를 추가하려고 시도하지 않습니다.