Тестирование IPv6 windows + VirtualBox (Ubuntu)

Тестирование IPv6 windows + VirtualBox (Ubuntu)

У меня есть клиентское (Linux)-серверное (Windows) приложение. У меня Windows 7 в качестве основной ОС и Ubuntu 18.04 на VirtualBox. Мне нужно проверить, может ли клиент подключаться к серверу через IPv6. Как это настроить?

решение1

Мне нужнотестчто клиент может подключиться к серверу через IPv6.

Вам нужно смотреть с обоих концов. Только конечные точки Linux будут по теме этого сайта. (Но вы можете посмотреть, как далеко вы можете зайти. И если вы зайдете достаточно далеко, вы можете поискать то, что работает на Windows :-).

Существует всего около четырех возможностей.

Выполните эту команду:ip -6 addr

1. Нет адреса IPv6: у вас нет строк, начинающихся с inet6. Тест не пройден.

2. Только локальные адреса IPv6: inet6все строки под сетевым интерфейсом, обращенным к вашей целевой сети, начинаются с fe80::. Технически возможно использовать локальные адреса, однако некоторые приложения их не поддерживают. Если возможно, разрешите эту ситуацию, т. е. расценивайте ее как неудачный тест.

Какой сетевой интерфейс обращен к вашей целевой сети?

  • Интерфейс обратной связи Linux называется lo. Игнорируйте его.
  • Большинство физических интерфейсов Linux начинаются с e(Ethernet), wl(wireless), ww(wide-area wireless) или, что менее вероятно, ppp(разная ерунда :-P). В вашем случае вы проигнорируете их.
  • Интерфейсы Linux для виртуальных машиниметь тенденциюназываться начинающимся с v. VirtualBox использует vboxnet, а libvirt (virt-manager) использует virbr. В вашем случае интерфейс, который вам нужен, почти наверняка один из них.

3. Потенциально маршрутизируемый адрес ipv6: т.е. по крайней мере один адрес, который не запускается fe80::. Тест не провален - пока :-). Перейти к следующему шагу.

Определив маршрутизируемый адрес IPv6, вы можете протестировать подключение к нему из другой системы.

ping6все в порядке -еслиВы знаете, что ping не блокируется брандмауэром.

Не блокируйте ping в своих брандмауэрах, если только брандмауэр не блокируетвсевходящие соединения. Иначе это не имеет смысла, и вы просто усложняете себе жизнь.

Если вы не можете разрешить пинг

Ваше заявление будет содержать инструкциигде-токакой номер порта (и какой тип порта) он использует, чтобы разрешить ему прохождение через брандмауэр.

Для проверки подключения к порту TCP я бы использовал sudo nmap -sT -p 1,$MYPORT $MYADDRESS. Вы также можете использовать sudo nmap -sT -F $MYADDRESSдля сканирования общих портов. Последнее может быть полезным, если оно показывает, что возможно установить соединение надругойпорт, например, возможно, вы забыли разрешить нужный порт через брандмауэр.

Для проверки портов UDP используйте -sUвместо -sT. Я бы не стал заморачиваться, nmap -sU -Fтак как сканирование UDP может бытьгораздо медленнеечем сканирование TCP.

Чтобы увидеть, как выглядит успешный тест, просканируйте адрес ::1(localhost). Если у вас еще нет открытого порта на localhost, откройте второе окно терминала и запустите ncat -l ::1 22, чтобы запустить поддельную службу SSH, которая nmapобнаружит.

Локальные адреса ссылок

Если вам необходимо подключиться к адресу link-local, вам нужно будет включить идентификатор ссылки. Например, для pingfe80::1 на link vboxnet0, запустите ping6 fe80::1%vboxnet0. Это одна из причин, по которой адреса link-local менее полезны: не все приложения знают, как указать идентификатор ссылки.

Связанный контент