Когда я запускаю комбинацию osmc, isc dhcp server и pi-hole на том же Raspberry Pi, у меня возникла странная проблема с созданными маршрутами, которую я не могу удалить. Raspberry Pi является сервером DHCP для моей сети, поэтому в dhcpc.conf настроен статический IP-адрес.

При первой загрузке таблица маршрутизации выглядит следующим образом:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    202    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0

Но через минуту или две добавляются некоторые дополнительные маршруты:

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         gateway         0.0.0.0         UG    202    0        0 eth0
link-local      0.0.0.0         255.255.0.0     U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0

Как только дополнительные маршруты добавлены, пи больше не маршрутизирует правильно. Я не могу удалить целевой маршрут 0.0.0.0, используя любую комбинацию параметров для маршрута del.

Я отключил avahi daemon, но это не изменило его поведение. Похоже, что это connman, который добавляет мошеннические маршруты:

* connman.service - Connman connection service
   Loaded: loaded (/lib/systemd/system/connman.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-04-09 16:17:02 BST; 14min ago
 Main PID: 253 (connmand)
   CGroup: /system.slice/connman.service
           `-253 /usr/sbin/connmand -n --nodnsproxy --config=/etc/connman.conf

Apr 09 16:17:04 osmc connmand[253]: Skipping disconnect of carrier, network is connecting.
Apr 09 16:17:04 osmc connmand[253]: ipconfig state 3 ipconfig method 1
Apr 09 16:17:09 osmc connmand[253]: eth0 {add} address <my ip>/24 label eth0 family 2
Apr 09 16:17:09 osmc connmand[253]: eth0 {add} route 192.168.1.0 gw 0.0.0.0 scope 253 <LIN
Apr 09 16:17:09 osmc connmand[253]: eth0 {add} route 192.168.1.0 gw 0.0.0.0 scope 253 <LIN
Apr 09 16:17:09 osmc connmand[253]: eth0 {del} route 192.168.1.0 gw 0.0.0.0 scope 253 <LIN
Apr 09 16:17:09 osmc connmand[253]: eth0 {add} route 0.0.0.0 gw 192.168.1.1 scope 0 <UNIVE
Apr 09 16:31:03 osmc connmand[253]: eth0 {add} address 169.254.250.106/16 label eth0 famil
Apr 09 16:31:03 osmc connmand[253]: eth0 {add} route 169.254.0.0 gw 0.0.0.0 scope 253 <LIN
Apr 09 16:31:03 osmc connmand[253]: eth0 {add} route 0.0.0.0 gw 0.0.0.0 scope 253 <LINK>

Это выглядит очень похоже на эту проблему:https://serverfault.com/questions/755075/strange-default-route-0-0-0-0-0-to-0-0-0-0-appearing

К сожалению, я не смог удалить все демоны (avahi, connman и т.д.), Так как OSMC зависит от них. Я нашел другой обходной путь, который должен был посмотреть в /var /lib /connman /ethernet_XXXXXXXX_cable /settings и изменить строку, которая гласила:

IPv4.method=auto

в

IPv4.method=manual
IPv4.local_address=<static IP>
IPv4.gateway=192.168.1.1

Причудливо это изменяет созданные нечетные маршруты и создает повторные маршруты по умолчанию вместо вредных не работающих маршрутов. Теперь я могу использовать свой Pi как хотел, хотя я запутался, если это ошибка или я просто что-то делаю не так.

Кто-нибудь знает больше о connman, dhcp server и т.д., Чтобы сказать, если это моя ошибка или ошибка?

0