Когда я запускаю комбинацию 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 и т.д., Чтобы сказать, если это моя ошибка или ошибка?