У меня есть выделенный сервер, которому назначен блок адресов IPv6 /48. На этом сервере запущено несколько гостевых систем Linux с сетевым подключением macvtap. Я хочу, чтобы у каждого гостя был блок /64, но не могу определить правильную конфигурацию. Я могу назначить весь /48 гостю, и он будет работать нормально, но если сделать что-то еще, я получу разные результаты (все ответы ping теряются по пути к серверу или просто возникает ошибка connect: Network is unreachable
при попытке запустить ping6
).
Мой поставщик услуг дал мне пригодный адрес (2604:XXXX:XX14::2/48) и адрес шлюза (2604:XXXX:XX14::1). Похоже, они используют туннель Hurricane Electric для предоставления услуги IPv6, если это что-то меняет.
решение1
Ваш вышестоящий провайдер вышел за рамки обычной схемы адресации v6. Хотя они назначили вам 48, ваше сетевое подключение должно быть 64, а маршрут для 48 добавлен к вашему адресу v6/64. Другие могут использовать /126 для P2P-соединений.
Затем каждый добавленный вами контейнер с адресом /64 будет локально подключен и маршрутизирован. Вы также можете запросить, чтобы они принимали объявления маршрутов (RA) или настроить bgp peer и использовать exabgp, gobgp, frr и т. д. для установки маршрутов.
С IPv6 вы назначаете подсети, чего многие из нас ленивы и не делают с v4 (хотя вы можете маршрутизировать v4/32 так же, как v6/64
Macvtap — это не простой коммутатор, это сквозной порт, и он не будет работать так, как вы пытались.