Столкнулся с такой ситуацией, что в используя Proxmox на серверах Hetzner нельзя просто взять и навесить IPv6 виртуалки на интерфейс подключенный в bridge наружу, т.к. приходит жалоба, что используется неразрешённый MAC адрес (как раз MAC адрес тех самых виртуальных машин, которые подключаешь к этому bridge).
Решается созданием ещё одного bridge и настройкой routed IPv6. Здесь речь будет идти только об IPv6, IPv4 часть не буду затрагивать.
Изменяем параметр sysctl для того, чтобы была возможность проброса IPv6:
sysctl -w net.ipv6.conf.all.forwarding=1
Настраиваем на внешнем интерфейсе (это может быть интерфейс сетевой карты, но в моём случае это bridge подключенный к внешней сетевой карте):
/etc/network/interfaces
iface vmbr0 inet6 static
address 2a01:abc:de:f123::1/128
gateway fe80::1
шлюз на внешнем интерфейсе (или бридже подключенному к внешнему интерфейсу) на hetzner всегда fe80::1
Создаём ещё один bridge, в моём случае это vmbr4 и не подключаем его ни к другим бриджам, ни к внешней сетевой карте, настраиваем следующим образом:
iface vmbr4 inet6 static
address 2a01:abc:de:f123::1/64
bridge-ports none
bridge-stp off
bridge-fd 0
up ip -6 route add 2a01:abc:de:f123::/64 dev vmbr4
последняя строчка это добавление маршрута при поднятии интерфейса бриджа.
После этого можно создавать виртуальную машину или контейнер, брать адрес из выделенного диапазона (add 2a01:abc:de:f123::/64
) в качестве шлюза необходимо указывать этот самый 2a01:abc:de:f123::1