(кросспост: Обмен сетевым стеком)
У меня есть установка с 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-адрес)