
Я пытаюсь настроить тестовый стенд 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. Любая помощь будет высоко оценена.
решение1
Во-первых, если вы установили 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
решение2
Нам понадобится немного больше информации, чтобы действительно помочь -- Для начала, можете ли вы успешно пинговать между двумя хостами по IPv6? Если вы не можете пинговать, у вас есть более простая проблема, которую нужно решить...
Предполагая, что выможетping (базовое подключение работает) дважды проверьте в netstat (или с помощью SSH-подключения к адресу fec0::N с локального компьютера), чтобы убедиться, что ваш демон SSH прослушивает адреса IPv6, которые вы пытаетесь использовать. Возможно, вам придется отредактировать файл sshd.conf и/или перезапустить sshd, чтобы он понял, что есть новые адреса v6 для прослушивания.