Тест IPv6 windows + VirtualBox (Ubuntu)

Zsh анализирует модификаторы перед командами так же, как псевдонимы и ключевые слова :они должны быть в начале команды, без кавычек. Это в значительной степени необходимо для модификаторов, влияющих на синтаксический анализ команды (noglob, nocorrect). Модификаторы предварительной команды builtin, command, execиспользуют внутри ту же логику, даже если их можно интерпретировать иначе.

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

Учитывая, что что-то вроде \command -v lsне делает ничего толкового, это определенно ошибка.

0
28.05.2019, 13:14
1 ответ

I need to test that the client can connect to the server through IPv6.

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

Есть только четыре возможности.

Запустите эту команду:ip -6 addr

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

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

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

  • Интерфейс обратной связи в Linux называется lo. Игнорируй это.
  • Большинство физических интерфейсов Linux начинаются сe(Ethernet ),wl(беспроводной ),ww(глобальной -беспроводной сети )или, что менее вероятно,ppp(всякой ерунды :-P ). В вашем случае вы их проигнорируете.
  • Имена интерфейсов Linux к виртуальным машинам обычно начинаются с v. VirtualBox использует vboxnet, а libvirt (virt -менеджер )использует 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 ). Если у вас еще нет открытого порта на локальном хосте, откройте второе окно терминала и запустите ncat -l ::1 22, чтобы запустить фальшивую службу SSH, которую обнаружит nmap.

Ссылка -локальные адреса

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

2
28.01.2020, 02:30

Теги

Похожие вопросы