
Ich versuche, ein IPv6-Testbed einzurichten. Ganz einfach: Nur zwei Ubuntu-Linux-Boxen, die über ein LAN miteinander kommunizieren. Beide Boxen haben eine funktionierende IPv4-Konnektivität, aber ich hatte kein Glück mit SSH über IPv6. Nach diesemWIE MAN, ich habe beiden Rechnern Adressen im lokalen Bereich (fec0::) gegeben. Auf der ersten Box habe ich Folgendes ausgeführt:
sudo ifconfig eth0 inet6 add fec0::1/64
Und beim zweiten Mal habe ich ausgeführt:
sudo ifconfig eth0 inet6 add fec0::2/64
Ich habe dann die Routing-Tabelle überprüft und jede scheint eine Route zu diesem Netzwerk zu haben, die über die eth0-Schnittstelle verläuft. Als nächstes habe ich einen Eintrag hinzugefügt, der /etc/hosts
von der zweiten Box auf die erste zeigt. Aber wenn ich dann versuche, per SSH von der zweiten Box auf die erste zu wechseln, bleibt der SSH-Client einfach hängen. Kein Fehler oder so. Wenn ich es tcpdump
auf dem Client ausführe, sehe ich überhaupt keinen IPv6-Verkehr. Was ist los?
Beachten Sie, dass es einwandfrei funktioniert, wenn ich per SSH ip6-localhost
von der Server-Maschine auf die Adresse selbst zugreife. Es scheint also kein SSH-Problem zu sein. Für jede Hilfe bin ich sehr dankbar.
Antwort1
Überprüfen Sie zunächst, ob die Option aktiviert ist ufw
, wenn Sie sie installiert haben . Sie müssen sie aktivieren, da sonst der gesamte IPv6-Verkehr standardmäßig durch eine Firewall blockiert wird./etc/default/ufw
IPV6=no
yes
ufw
Versuchen Sie anschließend einige grundlegende Diagnosen, die Sie beim Erlernen von IPv6 kennen sollten.
Als Erstes sollten Sie das Paket installieren ndisc6
und dann versuchen, eine Neighbor Solicitation durchzuführen. (Dies entspricht einer ARP-Anfrage in IPv4.)
sudo apt-get install ndisc6
Beachten Sie, dass universe
hierfür das Repository aktiviert sein muss.
Führen Sie dann von Ihrer ersten Maschine aus die folgenden Schritte aus:
ndisc6 fec0::2 eth0
Dadurch wird sichergestellt, dass Sie die MAC-Adresse für finden können fec0::2
.
(Beachten Sie, dass das ndisc6
Paket auch ein praktisches Dienstprogramm namens enthält, rdisc6
das nützlich sein kann, wenn Sie einen IPv6-Router in Ihrem Netzwerk haben; es überprüft, ob der Router richtig reagiert.)
Nachdem Sie überprüft haben, dass die Nachbarerkennung funktioniert, versuchen Sie es als Nächstes ping6 fec0::2
.
Weitere Diagnosen, die Sie möglicherweise veröffentlichen möchten, wenn weiterhin Probleme auftreten:
/sbin/ip -6 addr
/sbin/ip -6 neigh
/sbin/ip -6 route
sudo /sbin/ip6tables -L
Antwort2
Um wirklich helfen zu können, benötigen wir noch ein paar weitere Informationen. Können Sie beispielsweise erfolgreich über IPv6 zwischen den beiden Hosts pingen? Wenn Sie nicht pingen können, müssen Sie noch ein grundlegenderes Problem lösen ...
Angenommen, SiedürfenPing (grundlegende Konnektivität funktioniert) Überprüfen Sie in netstat (oder per SSH an die fec0::N-Adresse von der lokalen Box aus), ob Ihr SSH-Daemon auf den IPv6-Adressen lauscht, die Sie verwenden möchten. Möglicherweise müssen Sie Ihre sshd.conf-Datei bearbeiten und/oder sshd neu starten, damit es erkennt, dass es neue v6-Adressen zum Lauschen gibt.