IPv6-Adresse wird nicht festgelegt

IPv6-Adresse wird nicht festgelegt

Ich habe ein Problem beim Einrichten der IPv6-Adresse unter Ubuntu 10.04. Ich habe meinen Netzwerkmanager deaktiviert. Meine Datei /etc/network/interface sieht folgendermaßen aus:

iface eth0 inet6 static
pre-up modeprobe ipv6
address fe80::1
netmask 10
gateway fe80::2

Ich habe meine IP-Adresse als fe80::1 eingerichtet, aber wenn ich eth0 hochfahre, zeigt ifconfig

inet6 addr:  fe80::a00:27ff:fe1e:5edf/64 Scope:Link

Warum wird eine andere IP-Adresse angezeigt?

Wenn ich laufe

ping6 fe80::a00:27ff:fe1e:5edf/64

Es wird mir ein unbekannter Host angezeigt. Warum?

Antwort1

Sie haben in einem Kommentar erwähnt, dass Sieifconfigum die Schnittstelle aufzurufen. In diesem Fall besteht Ihr Problem darin, dassifconfigverwendet die interfacesDatei nicht(es weist die Schnittstelle nur an, Pakete zu empfangen). Diese Konfigurationsdatei ist spezifisch für Debian/Ubuntu und wird nur vomwennaufWerkzeuge ifupund ifdown. Sie müssten also Folgendes verwenden:

ifup eth0

Selbst dann wird Ihre Konfiguration abgelehnt, da die Syntax der Konfigurationsdatei "iface", nicht " interface", um eine neue logische Schnittstelle zu kennzeichnen. (Siehe dieSchnittstellen(5)Handbuch für eine vollständige Syntaxbeschreibung.)

(Ihre pre-upZeile ist außerdem 1) unnötig: sie wird automatisch erstellt und 2) falsch geschrieben: sie lautet " modprobe".)


Die fe80::a00:27ff:fe1e:5edfAdresse wird nicht aufgrund einer Konfiguration angezeigt, sondern weil IPv6 dies erfordert. Jede Schnittstelle muss eineLink-lokalAdresse basierend auf der „Schnittstellen-ID“ (ihrer MAC-Adresse); diese Adressen werden automatisch vom Linux-Kernel hinzugefügt.

(Denken Sie daran, dass eine Schnittstelle viele Adressen haben kann. Sie können sowohl fe80::1als auch fe80::a00:27ff:fe1e:5edfauf derselben Schnittstelle haben und es wird trotzdem funktionieren.)

Denken Sie auch daran, dass die fe80::/10AdressenLink-lokal– mit anderen Worten, siewerden nie weitergeleitet, und die gatewayKonfigurationseinstellung ist bedeutungslos.

Das bedeutet, dass Sie bei jedem Zugriff auf eine Link-Local-Adresse die zu verwendende Schnittstelle manuell angeben müssen. Dies geschieht durchHinzufügen einesZonenindexzur Adresse. (Unter Linux ist der Zonenindex derselbe wie der Schnittstellenname.) Um beispielsweise eine Verbindung übereth0müssen Sie hinzufügen %eth0:

ping6 fe80::a00:27ff:fe1e:5edf%eth0

(Die Antwort von Oliver Salzburg ist ebenfalls richtig – Sie dürfen keine Subnetzmaske angeben, wenn Sie sich auf einen einzelnen Host beziehen.)

Antwort2

Ich glaube nicht, dass Sie eine Subnetzmaske angeben müssen ping.

ping6 fe80::a00:27ff:fe1e:5edf

Sollte gut sein.

verwandte Informationen