В настоящее время я использую Linux (Debian) в качестве маршрутизатора/шлюза и хотел бы протестировать некоторые другие решения (например, VyOS, PFSense, OPNSense...), не заменяя его (пока).
Тестирование будет проводиться с виртуальными машинами и/или запасными машинами.
Хотя часть IPv4 не является проблемой, мне интересно, как выполнить маршрутизацию IPv6.
В настоящее время я получаю адрес /48 от своего провайдера, а затем использую radvd и wide-dhcpv6-client для предоставления адресов /64 своим машинам.
radvd.conf:
интерфейс enp1s0d1 {
AdvSendAdvert включен;
МинРтрАдвИнтервал 30;
МаксРтрАдвИнтервал 100;
префикс ::/64 {
AdvOnLink включен;
AdvAutonomous включен;
AdvRouterAddr включен;
};
};
интерфейс enp1s0d1.20 {
AdvSendAdvert включен;
МинРтрАдвИнтервал 30;
МаксРтрАдвИнтервал 100;
префикс ::/64 {
AdvOnLink включен;
AdvAutonomous включен;
AdvRouterAddr включен;
};
};
интерфейс enp1s0d1.30 {
AdvSendAdvert включен;
МинРтрАдвИнтервал 30;
МаксРтрАдвИнтервал 100;
префикс ::/64 {
AdvOnLink включен;
AdvAutonomous включен;
AdvRouterAddr включен;
};
};
dhcp6c.conf:
профиль по умолчанию
{
только информация;
запрашивать серверы доменных имен;
запросить доменное имя;
скрипт "/etc/wide-dhcpv6/dhcp6c-script";
};
интерфейс enp1s0 {
# отправить быструю фиксацию;
# отправить ia-na 0;
отправить ia-pd 0;
};
id-ассоциация на 0 {
};
ID-ассоциация pd 0 {
префикс ::/48 бесконечность;
префикс-интерфейс enp1s0d1 {
сла-лен 16;
идентификатор 0;
если 1;
};
префикс-интерфейс enp1s0d1.20 {
сла-лен 16;
идентификатор 1;
если 1;
};
префикс-интерфейс enp1s0d1.30 {
сла-лен 16;
сла-ид 2;
если 1;
};
};
(Конфигурации в основном скопированы из примеров в Интернете. У меня все еще есть базовое понимание IPv6)
(Я планировал провести тест в сети за enp1s0, но я мог бы создать новый vlan, если это будет необходимо/проще)
Если я правильно понимаю, проблема в том, что адреса /64 не могут быть разделены дальше, и мне пришлось бы дать маршрутизатору адрес /56, чтобы он мог затем давать адреса /64 машинам за ним.
Я прав? И если да, то как бы я это сделал?
Или есть лучший способ сделать это?