Необходимо загрузить модуль 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.
Вот соответствующие документы: