Я не уверен на 100%, что использую правильную терминологию в названии, поэтому, если кто-то знает лучше меня, пожалуйста, измените ее.
Я пытаюсь воспроизвести вредоносный скрипт, который я видел в дикой природе, с целью тестирования моих вариантов ответа на него. Он связывается с кучей IP-адресов на IPv6 /64, а затем используется для передачи IRC с сотен или тысяч различных IP-адресов. Тот факт, что он может связываться с разными адресами, позволяет ему обходиться без некоторого автоматического регулирования количества имен для каждого хоста и вызывать проблемы, несмотря на существующие меры.
По сути, проблема, которую я пытаюсь решить, сводится к этому. Я использую тестовую машину под управлением 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
Моя сеть настроена следующим образом:
$ 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)
inet6
в списке eth0 указывает мне, что весь каталог /64, на котором расположен указанный адрес, выделен как локальный канал для этой машины, но я не уверен на 100%, что это правда. В любом случае следующая команда, которую я использую для проверки подключения, не работает так, как я ожидаю:
$ telnet -6 -b fe80::1234:1234:1234:1234%eth0 fe80::218:f8ff:fe0d:c0d5%eth0 6667
telnet: bind: Cannot assign requested address
Я ошибаюсь, полагая, что весь /64 выделен для этой машины? Если это не так, как я могу настроить что-то, что позволит этому работать (решение только для хоста хорошо, так как это только для тестирования)? В противном случае, что я должен делать вместо этого, чтобы правильно связать этот адрес?