Рейтинг:0

Как настроить DHCPv6 в Proxmox без моста?

флаг tr

(кросспост: Обмен сетевым стеком)

У меня есть установка с Proxmox, подключенным через WiFi. Все работает для моих нужд и подключения IPv4.

Теперь я хочу посмотреть, можно ли выполнить некоторую настройку DHCPv6, чтобы мои виртуальные машины также имели адреса IPv6. Я бы предпочел установку без NAT, но это не обязательно.

Я рассматриваю несколько вариантов подключения IPv6:

  • НДП прокси. Этот кажется наиболее «прозрачным», и я получу общедоступный IPv6-адрес из той же сети, что и хост, которая является основной сетью abcd:abcd:abcd:FFFF::/64.
  • Сеть DHCPv6. Мой маршрутизатор имеет DHCPv6, я, вероятно, могу заставить свой экземпляр Proxmox запрашивать сеть для использования в качестве внутреннего моста (используя делегирование префикса). В настоящее время я использую dnsmasq для IPv4-адресов виртуальных машин, но я считаю, что могу заменить его чем-то другим.
  • НАТ. Я не хочу этого варианта, но и полностью отказываться от него тоже не буду. Причина, по которой я не могу просто подключить мост Proxmox в режиме моста к моей локальной сети (что значительно упростило бы задачу), заключается в том, что я не могу установить проводное соединение, поэтому мне приходится использовать WiFi (к счастью, по крайней мере, это 5 ГГц). и в большинстве случаев нет необходимости в большом трафике), а клиент WiFi не поддерживает мосты.

Итак, вот моя просьба о совете. Заранее спасибо.

РЕДАКТИРОВАТЬ: Пришел к делегированию префикса по моему выбору. Полностью доделать не успел. Теперь по вопросам:

  • Я получаю делегированный префикс IPv6, сервер Proxmox получает /62
  • На сервере у меня включен radvd, он правильно рекламирует внутреннюю локальную сеть виртуальных машин.
  • Виртуальная машина, Ubuntu 20.04 с NetworkManager, получает рекламу маршрутизатора и даже автоматически настраивает маршрут по умолчанию. Однако он не выполняет автоматическую настройку IPv6-адреса, что приводит к неожиданной проблеме «Пункт назначения недоступен: вне области исходного адреса» при попытке пропинговать IPv6-адрес. Если я вручную делаю "ip a dev ens18 2001:db8:facb:9876::23:2918/62", он работает (маршруты 2001:db8:facb:9874::/62 плюс маршрут по умолчанию).

вывод radvdump:

{
    AdvSendAdvert включен;
    # Примечание: {Min,Max}RtrAdvInterval нельзя получить с помощью radvdump
    AdvManagedFlag выключен;
    Флаг AdvOtherConfig выключен;
    AdvReachableTime 0;
    Адретранстаймер 0;
    Адвкурхоплимит 64;
    Аддефаултлайфтайм 300;
    AdvHomeAgentFlag выключен;
    среда AdvDefaultPreference;
    AdvSourceLLAAddress включен;

    префикс fde1:d59a:7fa7:8::/62
    {
        Адввалидлайфтайм 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink включен;
        AdvAutonomous включен;
        AdvRouterAddr включен;
    }; # Конец определения префикса


    префикс 2001:db8:facb:9874::/62
    {
        Адввалидлайфтайм 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink включен;
        AdvAutonomous включен;
        AdvRouterAddr включен;
    }; # Конец определения префикса


    префикс fde1:d59a:7fa7:8::/62
    {
        Адввалидлайфтайм 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink включен;
        AdvAutonomous включен;
        AdvRouterAddr включен;
    }; # Конец определения префикса


    префикс 2001:db8:facb:9874::/62
    {
        Адввалидлайфтайм 86400;
        AdvPreferredLifetime 14400;
        AdvOnLink включен;
        AdvAutonomous включен;
        AdvRouterAddr включен;
    }; # Конец определения префикса


    маршрут ::/0
    {
        среда AdvRoutePreference;
        AdvRouteLifetime 300;
    }; # Конец определения маршрута

}; # Конец определения интерфейса

Конфигурация РАДВД:

интерфейс vmbr0 {
  AdvSendAdvert включен;
  МинРтрАдвИнтервал 30;
  МаксРтрАдвИнтервал 100;
  AdvSourceLLAAddress включен;
  префикс ::/64 {
    AdvOnLink включен;
    AdvAutonomous включен;
    AdvRouterAddr включен;
    Base6Interface vmbr0;
  };
  маршрут ::/0 {
  };
};

(у vmbr0 правильно настроен IPv6-адрес)

флаг in
Если вы можете управлять своим внешним маршрутизатором, то, вероятно, лучше всего направить префикс / 64 на вашу сторону proxmox, в противном случае вы пробовали это или какие-либо другие ваши альтернативы? (Кажется, у вас уже есть ответы и нет настоящего вопроса?)
флаг tr
@NiKiZe Проблема в том, что префикс, полученный маршрутизатором, не является статическим — он меняется каждый раз, когда я повторно подключаюсь PPPoE к своему интернет-провайдеру. У меня двоякий вопрос: какой из этих вариантов лучше и как мне это сделать.
флаг tr
@NiKiZe Я пытался выполнить делегирование префикса, похоже, это не работает (я не получаю префикс от своего основного маршрутизатора). Поддержка делегирования префикса включена в самом маршрутизаторе, так что, может быть, провайдер не дает его правильно или что-то в этом роде? Мне не удалось заставить работать прокси NDP, но, возможно, я просто что-то не так делаю, и я снова не хочу делать NAT, если нет альтернативы.
флаг tr
@NiKiZe удалось выполнить делегирование префикса, но не полностью. Маршрутизация работает, но автонастройка адресов не работает в гостевой системе Ubuntu 20.04. Интересно, виноват ли гость или есть какая-то проблема с реальной конфигурацией.
Рейтинг:1
флаг tr

Оказывается, я делал некоторые вещи слишком сложными, теперь мне удалось ответить на вопрос для себя.

Прежде всего, позвольте мне дать ссылку на внешний ресурс, который оказался наиболее полезным для этой цели: ответ суперпользователя.

Моя конфигурация отражает ту, что в этой статье:

  • Маршрутизатор: включите делегирование префикса. Наверное, ничего не нужно было делать, чтобы изменить значение по умолчанию, но на всякий случай.
  • Установите пакет «wide-dhcpv6-client». Настройте его соответствующим образом, чтобы запросить делегирование префикса, и сделайте это соответствующим образом для каждого интерфейса.
  • Настройте dnsmasq для выдачи адресов IPv6 — это позволит корректно работать как объявлениям маршрутизатора, так и DHCP.
  • Перезагрузка (по какой-то причине ifup/ifdown не настраивались правильно).

Фрагмент dhcp6c.conf:

интерфейс wlp2s0 {
        отправить быструю фиксацию;
        отправить иа-на 0;
        отправить ia-pd 0;
};

id-ассоциация на 0 {
};

ID-ассоциация pd 0 {
        префикс ::/60 бесконечность;
        префикс-интерфейс vmbr0 {
                сла-лен 4;
                идентификатор 0;
                если 1;
        };
};

Фрагмент dnsmasq.conf:

включить-ра
dhcp-range=::1,конструктор:vmbr0,ra-без гражданства,ra-имена,4h

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.