Вопрос или проблема
Я назначил статический IP с помощью ip -6 addr add dev eth0.4
. Моя система подключена к другой системе по Ethernet-кабелю в одной сети с конфигурацией сетевого адаптера.
Теперь я пингую свой другой ПК, и я заметил, что ПК использует назначенный IPv6-адрес в качестве источника для разрешения адресов. Для доступности соседей он использует локальный ссылочный адрес в качестве источника.
Я хочу, чтобы для доступности соседей использовался назначенный IPv6-адрес.
Ответ или решение
Чтобы предотвратить использование адреса link-local в пакетах Neighbor Solicitation (NS) протокола Neighbor Discovery Protocol (NDP) и обеспечить, чтобы при определении доступности соседей использовался ваш статически назначенный IPv6-адрес, можно предпринять несколько шагов.
1. Проверьте настройки статического IPv6-адреса
Убедитесь, что ваш статический IPv6-адрес правильно сконфигурирован и назначен интерфейсу. Выполните следующую команду:
ip -6 addr show dev eth0.4
Это позволит вам убедиться, что у вас есть назначенный статический адрес.
2. Отключите создание адресов link-local
Каждый интерфейс по умолчанию генерирует link-local адрес (обычно начинающийся с fe80::
). Чтобы отключить создание link-local адресов на интерфейсе, вы можете попробовать использовать следующие команды:
sysctl -w net.ipv6.conf.eth0.4.disable_ipv6=1
Однако нужно помнить, что это не всегда рекомендуется, так как link-local адреса имеют множество полезных функций, таких как автоматическая конфигурация и маршрутизация пакетов в пределах локальной сети.
3. Использование явного источника адреса в запросах
Если вы хотите принудительно использовать статический IPv6-адрес в качестве источника при отправке запросов на разрешение соседей (ND), вам потребуется вручную установить источник при отправке пакетов. К сожалению, стандартные команды ping и ping6 могут не предлагать эту функциональность. Вместо этого можно воспользоваться утилитой ping
с явным указанием источника:
ping6 -I <ваш_статический_ipv6_адрес> <адрес_соседа>
4. Используйте утилиты для управления NDP
Существует несколько инструментов, которые могут помочь вам управлять и просматривать состояние протокола NDP. Одна из наиболее популярных утилит – это ndisc6
, которая позволяет вам выполнять запросы NDP с указанием источника. Например:
ndisc6 -I <ваш_статический_ipv6_адрес> <адрес_соседа>
5. Проверьте настройки маршрутизатора и сетевой среды
Обязательно проверьте сетевые настройки и маршрутизатор, так как иногда может быть необходимо внести изменения на уровне роутера или сетевого устройства для поддержки нужного поведения IPv6.
Заключение
Хотя использование link-local адресов является частью стандартного поведения протокола NDP, для управления этим поведением и использования статических адресов можно использовать различные методы, такие как указание источника в утилитах ping и ndisc6. Подобные подходы помогут вам использовать ваш статический IPv6-адрес для определения доступности соседей вместо link-local адресов.