connmanがゲートウェイなしでネットワークへのデフォルトルートを追加するのを防ぐ

connmanがゲートウェイなしでネットワークへのデフォルトルートを追加するのを防ぐ

2つのイーサネットインターフェイスを備えたK3OSを実行しているPCがあります。一方(eth0)は固定IPアドレスを使用してDHCPサーバーなしでネットワークに接続され、もう一方(eth1)はデフォルトゲートウェイを返すDHCPを使用してネットワークに接続されます。 K3OSはconnmanをネットワーク管理者として使用します。

2つの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。同じテクノロジの2つのサービスが利用可能な場合は、準備された最初のサービスの優先順位を指定します(ソース:文書)。しかし、私が理解していないのは、connmanがデフォルトゲートウェイのないネットワークにデフォルトパスを追加する理由です。特定のサービスにデフォルトゲートウェイがないことをconnmanに通知する方法はありますか?

ありがとうございます。

答え1

connmanがブラックリストに触れないようにしたいインターフェースを追加できます/etc/connman/main.conf

NetworkInterfaceBlacklist=eth1

これはパスを追加しようとしません。

関連情報