Wie binde ich mich an eine bestimmte lokale IPv6-Linkadresse, die nicht die Standardadresse ist?

Wie binde ich mich an eine bestimmte lokale IPv6-Linkadresse, die nicht die Standardadresse ist?

Ich bin nicht hundertprozentig sicher, ob ich im Titel die richtige Terminologie verwende. Wenn es also jemand besser weiß als ich, korrigieren Sie es bitte.

Ich versuche, ein bösartiges Skript zu replizieren, das ich in freier Wildbahn gesehen habe, um meine Möglichkeiten zu testen, darauf zu reagieren. Es bindet sich an eine Reihe von IP-Adressen auf einem IPv6/64 und wird dann verwendet, um IRC von Hunderten oder Tausenden verschiedener IP-Adressen aus zu überfluten. Die Tatsache, dass es sich an verschiedene Adressen binden kann, ermöglicht es ihm, eine automatische Drosselung pro Hostname zu umgehen und trotz bestehender Maßnahmen Probleme zu verursachen.

Im Grunde läuft das Problem, das ich zu lösen versuche, auf Folgendes hinaus. Ich verwende eine Testmaschine mit Ubuntu Server 13.10:

$ uname -a
Linux sandbox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 i686 i686 GNU/Linux

Mein Netzwerk ist folgendermaßen eingerichtet:

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:18:f8:0d:c0:d5
          inet addr:192.168.2.100  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::218:f8ff:fe0d:c0d5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9184009 errors:0 dropped:751 overruns:0 frame:57518
          TX packets:1143073 errors:12057087 dropped:0 overruns:0 carrier:23942906
          collisions:0 txqueuelen:1000
          RX bytes:1475317803 (1.4 GB)  TX bytes:287318593 (287.3 MB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4007947 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4007947 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:663390993 (663.3 MB)  TX bytes:663390993 (663.3 MB)

Die inet6Zeile der eth0-Auflistung zeigt mir, dass das gesamte /64, auf dem sich die aufgeführte Adresse befindet, als Link-Local für diese Maschine zugewiesen ist, aber ich bin mir nicht 100 % sicher, ob das stimmt. Der folgende Befehl, den ich zum Testen der Konnektivität verwende, funktioniert jedenfalls nicht wie erwartet:

$ telnet -6 -b fe80::1234:1234:1234:1234%eth0 fe80::218:f8ff:fe0d:c0d5%eth0 6667
telnet: bind: Cannot assign requested address

Liege ich falsch in der Annahme, dass das gesamte /64 dieser einen Maschine zugewiesen ist? Wenn nicht, wie kann ich etwas konfigurieren, das dies ermöglicht (eine Host-Only-Lösung ist in Ordnung, da dies nur zu Testzwecken dient)? Was sollte ich andernfalls stattdessen tun, um eine korrekte Bindung an diese Adresse herzustellen?

Antwort1

fe80::/64 ist das Link-Local-Präfix für das gesamte Ethernet-LAN, mit dem eth0 verbunden ist. Um Ihrem Computer eine andere Adresse in diesem Netzwerk zuzuweisen, müssen Sie etwas wie verwenden, ifconfigum Ihrem IPv6-Stack mitzuteilen, dass er diese Adresse verwenden soll, bevor Sie telneteine Bindung herstellen können.

Die genaue Syntax fällt mir jetzt nicht ifconfigspontan ein, aber sehen Sie sich die addund aliasUnterbefehle auf der Manpage an.

verwandte Informationen