Я новичок в IPV6. Я пытаюсь настроить сервер IPV6 на моей виртуальной машине Linux с помощью isc dhcp.
у нас есть следующий файл содержимого dhcpd6.conf

default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8:0:1::/64 {
        # Range for clients
        range6 2001:db8:0:1::129 2001:db8:0:1::254;
        # Additional options
        option dhcp6.name-servers fec0:0:0:1::1;
        option dhcp6.domain-search "domain.example";
}

На другом ПК у меня работает клиент dhcp6. Оба компьютера соединены вместе через кабель Ethernet.
Когда через некоторое время мы запускаем сервер, я получаю следующее сообщение

Information-request message from fe80::d6be:d9ff:fe9a:ba64 port 546, transaction ID 0xE987FC00
Sending Reply to fe80::d6be:d9ff:fe9a:ba64 port 546

На wireshark я вижу, что сервер отвечает на запрос соседей, но не на запрос маршрутизатора.

Клиент не может получить новый адрес IPV6. Я не уверен, что мне не хватает. Любая помощь действительно ценится.

Спасибо
Шанкар

1 ответ1

1

Подготовка IPv6 работает немного иначе, чем подготовка IPv4. Первой и наиболее важной частью обеспечения IPv6 является объявление маршрутизатора (RA). Он отправляется маршрутизатором, чтобы сообщить о его присутствии и сообщить об основных сетевых настройках локальной сети. Он содержит (среди прочего):

  • можно ли использовать маршрутизатор в качестве шлюза по умолчанию и как долго
  • есть ли доступный сервер DHCPv6 с сохранением состояния
  • есть ли доступный сервер DHCPv6 без сохранения состояния
  • какие префиксы используются в локальной сети
  • для каждого префикса: может ли этот префикс использоваться для автоконфигурации
  • он также может содержать домены DNS и распознаватели

В самом простом случае RA сообщает устройствам в сети, что это шлюз по умолчанию, что нет сервера DHCPv6 и одного префикса с включенной автоматической настройкой. В этом случае устройства в сети могут просто настроить свой собственный адрес на основе префикса сети. Вы бы пропустили настройки DNS, хотя.

Настройки DNS могут быть переданы внутри RA, но не каждая ОС распознает эту опцию. Поэтому обычно вы объединяете эту конфигурацию сети с сервером DHCPv6 без сохранения состояния. Такой сервер не выдает адреса, но предоставляет другую информацию о конфигурации, такую как настройки DNS.

Если вам нужен больший контроль над адресами, которые получают устройства, вы, возможно, захотите отключить автоконфигурацию и установить флаг в RA, который говорит, что сервер DHCPv6 с состоянием доступен. Затем устройства в сети узнают, что они должны запросить у DHCPv6-сервера свой адрес. И вот тут появляется конфигурация сервера DHCPv6, которую вы показываете.

Вам нужно будет настроить маршрутизатор для отправки правильного RA. Если ваш Linux- сервер является маршрутизатором, вы делаете это с помощью radvd:

interface eth0
{
    AdvSendAdvert on;
    # The network is managed: there is a stateful DHCPv6 server       
    AdvManagedFlag on;

    # Your prefix
    prefix 2001:db8:0:1::/64
    {
        AdvOnLink on;
        # No auto-configuration
        AdvAutonomous off;
    };

    # Configure both Google public DNS resolvers
    RDNSS 2001:4860:4860::8888 2001:4860:4860::8844
    {
    };

    # Configure the DNS search list
    DNSSL domain.example.com example.com
    {
    };
};

Когда клиенты получают этот RA, они начинают запрашивать сервер DHCPv6.

PS: локальные адреса сайтов (начинающиеся с fec0: давно устарели. Вы должны использовать вместо ULA .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .