Я хочу настроить DHCP-сервер в моей локальной сети для IPv6, который выдает адреса и дополнительную информацию, такую как DNS / NTP и так далее. От своего интернет-провайдера я получил префикс IPv6, который я буду называть <префикс> в следующих фрагментах.
Использую isc-dhcp-server. В /etc/dhcpd.conf у меня есть
option dhcp6.name-servers <prefix>::2;
option dhcp6.info-refresh-time 21600;
subnet6 <prefix>::/64 {
range6 <prefix>::1 2<prefix>::ffff:ffff;
}
Интерфейс eth0 (который подключен к маршрутизатору) настраивается статически в файле / etc / network / interfaces:
iface eth0 inet6 static
address <prefix>::2
netmask 64
Клиент имеет Ubuntu 14.04 LTS с сетевым менеджером и привязан к маршрутизатору через интерфейс wlan0 (маршрутизатор действует как точка доступа). В конфигурации графического интерфейса сетевого менеджера Ubuntu на вкладке IPv6 я выбираю «Метод: автоматически, только DHCP» (поэтому я ожидаю, что DHCPv6-конфигурация клиента с сохранением состояния - он должен получить IPv6-адрес из указанного выше диапазона).
Однако этого не происходит. ifconfig подразумевает, что клиент был настроен с использованием метода без сохранения состояния (настроенный адрес ipv6 имеет закодированный HW-адрес клиента wlan0)
Я подозреваю, что на маршрутизаторах установлены неправильные рекламные флаги. Но я не могу настроить роутер, так как он предоставляется провайдером. Что я могу сделать? Есть предложения?
Вкратце: я думаю, что DHCP-сервер прослушивает неправильный интерфейс.
Длинный ответ: Предположим, вы получили префикс 2001: DB8: 1234 :: / 48 от своего интернет-провайдера. Кроме того, мы предполагаем, что ваш маршрутизатор имеет два сетевых интерфейса: eth0 (восходящее соединение с провайдером) и wlan0 (для клиентов). Если вы сейчас настроите свой DHCPv6-сервер, выполните следующие действия:
subnet6 2001:DB8:1234::/64 {
range6 2001:DB8:1234::10 2001:DB8:1234::ffff:ffff;
}
затем после запуска DHCP-сервера он будет искать интерфейсы на сервере, который настроен в диапазоне 2001: DB8: 1234 :: / 64, и прослушивает эти интерфейсы на предмет запросов DHCP.
Это означает, что необходимо настроить серверные интерфейсы.
Кроме того, вы должны запустить сервер с некоторыми результатами отладки, чтобы проверить, поступают ли запросы от клиента. Для ISC dhcpd вы можете использовать параметры "-d -f", например
/usr/sbin/dhcpd -6 -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid -f -d