Как избавиться от 169.254.0.0 маршрутов?

Это от route -n команда.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.x     0.0.0.0         UG    600    0        0 <wifi>
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 <wifi>
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 <wifi>

Я попробовал:

1) отключенный ufw и работал от терминала (то же с включенным ufw):

sudo route del -net 169.254.0.0 gw 0.0.0.0

добрался SIOCDELRT: Invalid argument

2) прокомментированный link-local 169.254.0.0 строка в /etc/networks файл и перезагруженный.

3) отключенный avahi-deamon так как это, кажется, связано.

Ничто не работает, я использую статический IP, но всегда когда я соединяюсь со своим маршрутизатором и работаю route -n command это появляется там. Так. Вы у парней есть какие-либо другие идеи?

ОБНОВЛЕНИЕ:

Благодаря ответу ниже я изучил avahi-autoipd страница справочника и управляемый для нахождения решения. Удалить маршрут:

sudo route del -net 169.254.0.0 netmask 255.255.0.0 dev <interface> metric 1000

где <interface> Ваш сетевой интерфейс, такой как wlan0, например. Однако это только удалило бы его до следующей сетевой ассоциации, потому что это мечет икру снова и снова. Таким образом для создания этого постоянным необходимо изменить /etc/network/if-up.d/avahi-autoipd файл, корень порождения.

Я прокомментировал заключительную часть кода:

#if [ -x /bin/ip ]; then
    # route already present?
    #ip route show | grep -q '^169.254.0.0/16[[:space:]]' && exit 0

    #/bin/ip route add 169.254.0.0/16 dev $IFACE metric 1000 scope link
#elif [ -x /sbin/route ]; then
    # route already present?
    #/sbin/route -n | egrep -q "^169.254.0.0[[:space:]]" && exit 0

    #/sbin/route add -net 169.254.0.0 netmask 255.255.0.0 dev $IFACE metric 1000
#fi
8
задан 15 March 2017 в 16:33

3 ответа

Нет ничего вообще, что необходимо сделать. Эти 169.254.0.0 маршрута обычно присутствуют для всех с интернет-соединением. Вот маршрутная информация от моей машины:

chili@T440p:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp3s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp3s0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0

см.: https://serverfault.com/questions/132657/where-route-to-169-254-0-0-comes-from

Особенно см.:

169.254.0.0/16 сеть используется для Автоматической Частной IP-адресации или APIPA. Если клиент DHCP попытается получить адрес, но не найдет сервер DHCP после тайм-аута и период повторений, то он случайным образом примет адрес из этой сети. Это позволяет связь с хостами, которым не удалось получить адрес DHCP.

Короче говоря, запись совершенно нормальна.

9
ответ дан 23 November 2019 в 05:35

Вы правы в своем предположении, что этот маршрут прибывает из avahi.

Отключение avahi-deamon не может быть достаточно, так как Ваш клиент DHCP может быть настроен для использования avahi-autoipd для установки Локального для ссылки IP, когда запрос DHCP перестал работать.

существует несколько вещей, которые я попробовал бы:

  • добавляют строку deny-interfaces=wifi (это - название Вашего сетевого интерфейса, правильно?) в /etc/avahi/avahi-daemon.conf
  • , так как Вы используете статический IP так или иначе, отключите своего клиента DHCP (dhcpcd?)
  • как этот ответ предлагает, можно просто удалить avahi-daemon. Несомненно, это составляет уничтожение мухи с паровым катком, но оно будет работать
1
ответ дан 23 November 2019 в 05:35

Я решил как это:

iface eth1 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    gateway 192.168.0.1
    pre up ip r d 169.254.0.0/16

Просто маршрут удален, когда сеть запускается. В дистрибутивах Rhel легко настроить Zeroconf, но я не нашел путь в Debian/Ubuntu. Однако, это должно сделать прием.

1
ответ дан 23 November 2019 в 05:35

Другие вопросы по тегам:

Похожие вопросы: