Я пытаюсь настроить тестовую площадку IPv6. Очень просто: всего два компьютера с Ubuntu Linux, которые общаются друг с другом по локальной сети. Оба устройства имеют рабочее соединение IPv4, но мне не удалось использовать SSH поверх IPv6. Следуя этому КАК, Я указал адреса обеих машин в локальном диапазоне сайта (fec0: :). На первом ящике я запустил:
sudo ifconfig eth0 inet6 add fec0::1/64
А на второй я побежал:
sudo ifconfig eth0 inet6 add fec0::2/64
Затем я проверил таблицу маршрутизации, и у каждого из них есть маршрут к этой сети, проходящий через интерфейс eth0. Затем я добавил запись в /etc/hosts
указывая от второго поля к первому. Но когда я затем пытаюсь подключиться по SSH из второго ящика к первому, клиент SSH просто зависает. Ни ошибки, ни чего. Если я сбегу tcpdump
на клиенте я вообще не вижу трафика IPv6. В чем дело?
Обратите внимание, что если я использую SSH для ip6-localhost
адрес от серверной машины к себе, он работает нормально, так что это не похоже на проблему SSH. Любая помощь очень ценится.
Во-первых, если у вас есть ufw
установлен, проверьте /etc/default/ufw
чтобы увидеть, если IPV6=no
опция установлена. Вам нужно будет установить это на yes
или ufw
по умолчанию будет защищать весь трафик IPv6.
После этого попробуйте выполнить базовую диагностику, о которой вам следует знать при изучении IPv6.
Первое, что вам нужно сделать, это установить ndisc6
пакет, а затем попробуйте сделать запрос соседа. (это эквивалент выполнения запроса ARP в IPv4)
sudo apt-get install ndisc6
Обратите внимание, вам понадобится universe
репозиторий включен для этого.
Затем с вашей первой машины:
ndisc6 fec0::2 eth0
Это гарантирует, что вы сможете найти MAC-адрес для fec0::2
.
(Обратите внимание ndisc6
пакет также поставляется с удобной утилитой под названием rdisc6
что может быть полезно, если в вашей сети есть маршрутизатор IPv6; он проверит, правильно ли отвечает маршрутизатор.)
После проверки того, что обнаружение соседей работает, следующая попытка ping6 fec0::2
.
Другая диагностика, которую вы можете опубликовать, если у вас все еще есть проблемы:
/sbin/ip -6 addr
/sbin/ip -6 neigh
/sbin/ip -6 route
sudo /sbin/ip6tables -L
Нам понадобится немного больше информации, чтобы действительно помочь - для начала, можете ли вы успешно выполнить эхо-запрос между двумя хостами по IPv6? Если вы не можете пинговать, у вас есть более серьезная проблема, которую нужно решить ...
Предполагая, что вы жестяная банка ping (базовое подключение работает) дважды проверьте в netstat (или с помощью SSHing на адрес fec0 :: N из локального окна), чтобы убедиться, что ваш демон SSH прослушивает адреса IPv6, которые вы пытаетесь использовать. Возможно, вам придется отредактировать файл sshd.conf и / или перезапустить sshd, чтобы он понял, что есть новые адреса v6 для прослушивания.