Я не уверен на 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 выделен для этой машины? Если это не так, как я могу настроить что-то, что позволит этому работать (решение только для хоста хорошо, так как это только для тестирования)? В противном случае, что я должен делать вместо этого, чтобы правильно связать этот адрес?

1 ответ1

0

fe80::/64 - это локальный префикс для локальной сети Ethernet, к которой подключен eth0. Чтобы дать вашей машине еще один адрес в этой сети, вам нужно использовать что-то вроде ifconfig чтобы указать вашему стеку IPv6 использовать этот адрес, прежде чем вы сможете указать telnet чтобы он связался с ним.

Я не помню точный синтаксис ifconfig в верхней части моей головы, но взгляну на подкоманды add и alias на странице man.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .