CentOS: Routen für 169.254.0.0/16 entfernen

Gemäß RFC5735 existiert ein Adressraum 169.254.0.0/16, der auch als Link Local bezeichnet wird. Dieser Bereich kann von Endgeräten verwendet werden, wenn keine Adresse statisch konfiguriert ist oder keine Adresse per DHCP bezogen werden kann. Die Wahl der zu verwendenden IP-Adresse wird dann von Zeroconf getroffen.

Link Local Adressen können zwar vorteilhaft sein, wenn zwei Computer direkt verbunden werden sollen. Meist sind die Adressen jedoch überflüssig und die entsprechenden Routen können ohne weiteres aus der Routingtabelle entfernt werden.

Das folgende Beispiel zeigt eine mögliche Routingtabelle auf einem Server mit CentOS, zwei aktiven Netzwerkkarten und aktiviertem Zeroconf.

$ route -n
Kernel IP Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0

In diesem Fall sind die Routingeinträge mit den Link Local Adressen überflüssig, da sie für eine funktionierende Kommunikation im Netzwerk nicht benötigt werden. Im Weiteren werden zwei Möglichkeiten vorgestellt wie die automatische Erstellung der Einträge deaktiviert werden kann.

Bei der ersten Möglichkeit muss für jede Netzwerkkarte die Konfiguration angepasst werden. Im oben beschrieben Beispiel mit zwei Netzwerkkarten muss dazu in die Dateien ifcfg-eth0 und ifcfg-eth1 im Verzeichnis /etc/sysconfig/network-scripts/ folgende Zeile eingetragen bzw. angepasst werden.

NOZEROCONF=yes

Eine weitere und in den meisten Fällen auch völlig ausreichende Möglichkeit ist es, Zeroconf global zu deaktivieren. Hierfür wird nur in die Datei /etc/sysconfig/network die bereits erwähnte Zeile eingefügt.

NOZEROCONF=yes

Anschließend kann das Netzwerk mit folgendem Befehl neu gestartet werden.

$ /etc/init.d/network restart

In vielen Fällen ist ein einfacher Neustart des Servers jedoch die bessere Wahl. Da es unter gewissen Umständen zu Problemen kommen könnte, wenn nur die Netzwerkkarten neu gestartet werden.

Verwandte Artikel