Переход с NAT на bridge в IPv6

Ответить
ya
^-^
Сообщения: 3120
Зарегистрирован: 16 дек 2021, 19:56

Переход с NAT на bridge в IPv6

Сообщение ya »

Способ А: Сетевой мост (Bridge) — Лучший вариант

Вместо NAT создайте полноценный L2 Bridge на Debian. В этом случае виртуалка станет "полноправным" членом локальной сети, как будто она подключена отдельным кабелем к роутеру.

Создайте мост (например, br0) в настройках сети Debian.

Привяжите к нему физический интерфейс (eth0).

В настройках QEMU выберите "Bridge device" и укажите br0.
Виртуалка получит IPv6 напрямую от вашего роутера.

Способ Б: Использование NDP Proxying

Если вы не можете использовать мост (например, на Wi-Fi или в дата-центре), вам нужно заставить Debian отвечать за виртуалки.

Включите пересылку IPv6:

Код: Выделить всё

sysctl -w net.ipv6.conf.all.proxy_ndp=1
Добавьте конкретный IP виртуалки в прокси:

Код: Выделить всё

ip -6 neigh add proxy [IPv6-адрес-виртуалки] dev eth0
Способ В: Маршрутизация на роутере

Если у вас есть доступ к основному роутеру вашей сети:

Пропишите на роутере статический маршрут: "Для подсети виртуалок (например, fd00::/64) шлюзом является IPv6-адрес вашего Debian-хоста".

Убедитесь, что ip6tables на Debian разрешает входящие соединения на интерфейс virbr0.

Что проверить прямо сейчас?
Firewall (ip6tables/nftables): Часто Debian блокирует входящий трафик на виртуальный мост. Попробуйте временно разрешить всё:

Код: Выделить всё

ip6tables -A FORWARD -i eth0 -o virbr0 -j ACCEPT
IP Forwarding: Убедитесь, что Debian вообще разрешает пересылку пакетов:

Код: Выделить всё

sysctl net.ipv6.conf.all.forwarding 
(должно быть 1).

Резюме: локальная сеть не знает, где искать IPv6-адреса виртуалок. Самое чистое решение — переход с NAT на Bridge.
Ответить