
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 inet6
Zeile 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, ifconfig
um Ihrem IPv6-Stack mitzuteilen, dass er diese Adresse verwenden soll, bevor Sie telnet
eine Bindung herstellen können.
Die genaue Syntax fällt mir jetzt nicht ifconfig
spontan ein, aber sehen Sie sich die add
und alias
Unterbefehle auf der Manpage an.