Необходимо загрузить модуль xt_tcpudp в Debian 7 Wheezy с ядром OpenVZ. Ошибка: "не удалось открыть"

Я следовал этому руководству

IPTABLES внутри контейнера направляющих @ openvz.org

Я использую Debian 7 Wheezy x64, который был dist-updgrade'd до установки OpenVZ. Контейнер Debian7 x64 минимальный.

Это работает очень хорошо, за исключением того, что теперь мне нужно иметь некоторые правила IPTABLES внутри одного из моих контейнеров (ВМ).

Я попытался загрузить модуль на хост-узел следующим образом:

root@baremetal-openvz-hostnode:~# modprobe xt_tcpudp

И получил эту ошибку:

libkmod: ERROR ../libkmod/libkmod.c:505 kmod_lookup_alias_from_builtin_file: could not open builtin file '/lib/modules/2.6.32-openvz-042stab093.5-amd64/modules.builtin.bin'

FATAL: Module xt_tcpudp not found.

root@baremetal-openvz-hostnode:~# ls /lib/modules/uname -r/kernel/net/netfilter | grep xt_tcp

xt_tcpmss.ko

Другие два модуля, упомянутые в руководстве (ссылка выше), загружены без проблем.

Причина, по которой мне нужен модуль xt_tcpudp

Я пытаюсь установить эти правила IPTABLES внутри контейнера:

iptables -A OUTPUT -o ppp0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -i ppp0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

Я получаю эти ошибки (вышеупомянутое руководство говорит, что они происходят, потому что модуль ядра отсутствует)

iptables: No chain/target/match by that name.

iptables: No chain/target/match by that name.

===========

1 ответ

Решение

Итак, оказывается, что большая часть информации, которую можно найти, выполнив поиск в Google об использовании iptables внутри виртуальных машин OpenVZ, устарела

Я решил проблему, выполнив следующее:

Загрузите все модули IPTABLES на главном узле (я могу удалить некоторые после этого)

внутри /etc/vz/vz.conf:

IPTABLES_MODULES="iptable_filter, iptable_mangle, ipt_limit, ipt_multiport, ipt_tos, ipt_TOS, ipt_REJECT, ipt_TCPMSS, ipt_tcpmss, ipt_ttl, ipt_LOG, ipt_length, ip_conntrack, ip_conntrack_ftp, ip_conntrack_irc, ipt_conntrack, ipt_state, ipt_helper, iptable_nat, ip_nat_ftp, ip_nat_irc, ipt_REDIRECT, xt_mac, ipt_recent, ipt_owner"

(Обратите внимание, что старый параметр IPTABLES= устарел)

Перезапустите OpenVZ

root@baremetal-openvz-hostnode:~# /etc/init.d/vz restart

Включите все сетевые фильтры (новое ключевое слово) в контейнере:

root@baremetal-openvz-hostnode:~# vzctl set 1234 --netfilter full --save

root@baremetal-openvz-hostnode:~# vzctl restart 1234

Alrighty.

Вот соответствующие документы:

  1. Новый список имен модулей сетевого фильтра IPTABLES.
  2. Новые глобальные параметры OpenVZ
Другие вопросы по тегам