Назад | Перейти на главную страницу

правила ip6tables полностью игнорируются внутри контейнера OpenVZ

Мы настроили сеть IPv6 на openvz с использованием мостовых устройств veth. Трафик IPv6 между виртуальными средами работает нормально.

ip6tables работает на HN, а iptables работает на VE. Внутри VE мы можем настроить правила ip6tables без сообщений об ошибках. Однако они полностью игнорируются.

Какие дополнительные параметры конфигурации необходимы для работы ip6tables?

Кажется, вы используете контейнеры под proxmox, верно? Затем вы должны проверить с помощью графического интерфейса в proxmox, что сетевые адреса в порядке и известны PVE.
В некоторых случаях pve предотвращает использование некоторых модулей iptables, например:
FATAL: не удалось загрузить /lib/modules/4.15.18-1-pve/modules.dep: нет такого файла или каталога

Примечание: На proxmox 5, OpenVZ контейнеры будут преобразованы в LXC, это может внести некоторую предвзятость

Убедитесь, что вы явно применяете правила к интерфейсу venet0.

Контейнеры OpenVZ наследуют ядро ​​и модули от хост-узла. Из-за этого вы не можете загружать новые модули ядра в контейнер OpenVZ / LXC. Я бы удостоверился, что хост-узел имеет ip6_tables модуль ядра либо скомпилирован в ядро, либо загружен как модуль.

Это проблема, потому что OpenVZ - это паравиртуализация, что означает, что он использует то же ядро, что и хост-узел. Поскольку вы используете то же ядро, что и другие контейнеры OpenVZ, вы не можете загружать модули в ядро. С помощью аппаратных виртуальных машин вы можете запускать собственное ядро, а затем загружать / выгружать модули ядра или скомпилировать собственное ядро ​​для использования. Приведенный ниже вопрос описывает различия более подробно.

В чем разница между полной, параграфической и аппаратной виртуализацией?

К сожалению, когда у вас есть доступ только к гостевой среде OpenVZ, определить, загружен ли модуль IPv6 IPtables, может быть немного сложно, так как lsmod, /proc/modules, и /proc/config.gz довольно часто не существуют внутри OpenVZ.

Из-за этого вам может просто потребоваться связаться с вашим провайдером, поскольку кто-то с root-доступом на хост-узле должен будет загрузить этот модуль ядра для вас.