Wie werde ich die Route 169.254.0.0 los?

8

Dies ist vom route -nBefehl.

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>

Ich habe versucht:

1) ufw deaktiviert und vom Terminal ausgeführt (dasselbe bei aktiviertem ufw):

sudo route del -net 169.254.0.0 gw 0.0.0.0

habe SIOCDELRT: Invalid argument

2) link-local 169.254.0.0Zeile in der /etc/networksDatei kommentiert und neu gestartet.

3) deaktiviert, avahi-deamonda es verwandt zu sein scheint.

Nichts funktioniert, ich verwende statische IP, aber immer, wenn ich eine Verbindung zu meinem Router herstelle und ihn ausführe, wird route -n commandsie dort angezeigt. Damit. Habt ihr noch andere Ideen?

AKTUALISIEREN:

Dank der Antwort unten habe ich in die avahi-autoipdManpage geschaut und es geschafft, eine Lösung zu finden. So entfernen Sie die Route:

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

Wo <interface>ist Ihre Netzwerkschnittstelle, wie z. B. wlan0? Dies würde es jedoch nur bis zur nächsten Netzwerkzuordnung entfernen, da es erneut erzeugt wird. Um es dauerhaft zu machen, müssen Sie die /etc/network/if-up.d/avahi-autoipdDatei, das Stammverzeichnis des Laichens , ändern .

Ich habe den letzten Teil des Codes auskommentiert:

#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
user633551
quelle
Ja es funktioniert! Ich habe die Zeilen nur mit "route add" auskommentiert und kann bestätigen: Ihre Lösung funktioniert einwandfrei! (Ubuntu 18.04) Ein weiterer schöner Schritt, um das Chaos im modernen Ubuntu zu
beseitigen

Antworten:

10

Sie müssen überhaupt nichts tun. Die Route 169.254.0.0 ist normalerweise für alle Benutzer mit Internetverbindung verfügbar. Hier sind die Routeninformationen von meinem Computer:

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

Weitere Informationen finden Sie unter: /server/132657/where-route-to-169-254-0-0-comes-from

Vor allem sehen:

Das Netzwerk 169.254.0.0/16 wird für die automatische private IP-Adressierung (APIPA) verwendet. Wenn ein DHCP-Client versucht, eine Adresse abzurufen, aber nach Ablauf des Zeitlimits und der Wiederholungsperiode keinen DHCP-Server findet, wird zufällig eine Adresse aus diesem Netzwerk angenommen. Dies ermöglicht die Kommunikation mit Hosts, die keine DHCP-Adresse erhalten haben.

Kurz gesagt, der Eintrag ist völlig normal.

chili555
quelle
Ich kann mich nicht erinnern, jemals eine solche Route gehabt zu haben, es sei denn, ich hatte Probleme. Ich habe gerade zwei meiner 16.04 Ubuntu-Server überprüft, beide mit Internetverbindung, und keiner hat eine solche Route. Zu meiner Überraschung ist es jedoch auf meinem Test 16.10 Ubuntu-Desktop-Computer vorhanden.
Doug Smythies
IP-Route auf meinem Ubuntu 16.10 Box zeigt: 169.254.0.0/16 Dev Eth0 Scope Link Metrik 1000
Neofug
1

Sie haben Recht mit Ihrer Annahme, dass diese Route von Avahi kommt.

Das Deaktivieren reicht avahi-deamonmöglicherweise nicht aus, da Ihr DHCP-Client möglicherweise für die Verwendung konfiguriert ist, avahi-autoipdum eine verbindungslokale IP festzulegen, wenn die DHCP-Anforderung fehlschlägt.

Es gibt verschiedene Dinge, die ich versuchen würde:

  • Fügen Sie eine Zeile hinzu deny-interfaces=wifi(das ist der Name Ihrer Netzwerkschnittstelle, oder?) in/etc/avahi/avahi-daemon.conf
  • Deaktivieren Sie Ihren DHCP-Client ( dhcpcd?), da Sie ohnehin eine statische IP-Adresse verwenden.
  • Wie aus dieser Antwort hervorgeht , können Sie einfach deinstallieren avahi-daemon. Sicher, das bedeutet, eine Fliege mit einer Dampfwalze zu töten, aber es wird funktionieren
Dmitry Grigoryev
quelle
1
Die ersten beiden Optionen haben nicht funktioniert. Drittens sagen wir einfach, ich möchte es als Reserve behalten. Aber Ihre Antwort hat mir geholfen, eine Lösung zu finden, also Prost auf Ihre Bemühungen!
user633551
@ user633551 Dann solltest du deine Antwort als Antwort posten. Ich werde gerne darüber abstimmen.
Dmitry Grigoryev
In 16.04 avahi-autoipdwird nicht verwendet /etc/avahi/avahi-daemon.conf, so dass der erste Vorschlag nicht verhindert, dass DHCP den /etc/network/if-up.d/avahi-autoipdHook aufruft, der Teil des avahi-autoipdPakets ist. In meinem Fall habe ich noch nicht avahi-daemoninstalliert.
Rostislav Kandilarov
In meiner Installation von Ubuntu 18.04 hat die Lösung zum Auskommentieren der "Route Add" geholfen. Bearbeiten von /etc/network/if-up.d/avahi-autoipd Vielen Dank an user633551.
opinion_no9
1

Ich habe so gelöst:

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

Die Route wird einfach gelöscht, wenn das Netzwerk gestartet wird. In Rhel-Distributionen ist es einfach, Zeroconf zu konfigurieren, aber ich habe in Debian / Ubuntu keinen Weg gefunden. Trotzdem sollte dies einen Trick machen.

Flüchtling
quelle