После установки CSF (ConfigServer Security & Firewall) на Centos6, запущенном в LXC-контейнере на ноде под ProxMox(Debian9)
проверка наличия требуемых модулей Iptables для корректной работы CSF не проходит успешно
В результате такой проверки отсутствуют некоторые модули,при этом на ноде,на которой размещен LXC-контейнер, эти модули присутствуют(загружены)
Установка CSF
Более полная версия с необходимы пакетами доступна здесь
https://kamaok.org.ua/?p=800
Если кратко,то выполняем следующие команды:
1 |
# cd /usr/src && wget https://download.configserver.com/csf.tgz |
1 |
# tar -xzf csf.tgz && cd csf && ./install.sh |
Провереям наличие модулей Iptables необходимых для корректной работы CSF
1 |
# perl /usr/local/csf/bin/csftest.pl |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...FAILED [FATAL Error: FATAL: Could not load /lib/modules/4.13.13-6-pve/modules.dep: No such file or directory] - Required for csf to function Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...FAILED [Error: iptables: Protocol wrong type for socket.] - Required for CONNLIMIT feature Testing ipt_owner/xt_owner...FAILED [Error: FATAL: Could not load /lib/modules/4.13.13-6-pve/modules.dep: No such file or directory] - Required for SMTP_BLOCK and UID/GID blocking features Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf will not function on this server due to FATAL errors from missing modules [1] |
При этом эти отсутствующие модули на LXC-контейнере с Centos6 загружены на ноде(ProxMox c Debian9)
1 |
# lsmod | grep -E 'xt_multiport|xt_connlimit|xt_owner' |
1 2 3 4 5 |
xt_connlimit 16384 0 nf_conntrack 131072 9 xt_state,xt_nat,nf_conntrack_ipv6,nf_conntrack_ipv4,xt_connlimit,xt_conntrack,nf_nat_ipv4,xt_REDIRECT,nf_nat xt_multiport 16384 320 xt_owner 16384 4 x_tables 40960 19 xt_state,xt_LOG,xt_multiport,ipt_REJECT,xt_owner,xt_nat,iptable_mangle,ip_tables,xt_time,iptable_filter,xt_tcpudp,iptable_raw,xt_limit,xt_recent,ip6table_filter,xt_connlimit,xt_conntrack,ip6_tables,xt_REDIRECT |
Решение: обновить iptables на LXC-контейнере с Centos
Проверка версии iptables на LXC-контейнере с Сentos6
1 |
# iptables -V |
1 |
iptables v1.4.7 |
Установим более новую версию iptables 1.4.21 вместо 1.4.7 на LXC-контейнере c Centos6
Установка iptables из исходников
Выполняем скрипт
1 |
# cat /root/iptables.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# compile iptables from source and install to /usr/local mkdir -p /tmp/iptables wget "http://www.netfilter.org/projects/iptables/files/iptables-1.4.21.tar.bz2" -qO- | tar --strip-components=1 -C /tmp/iptables -xvj cd /tmp/iptables ./configure make make install # set alternatives alternatives --install /sbin/iptables iptables.x86_64 /usr/local/sbin/iptables 100 \ --slave /bin/iptables-xml bin-iptables-xml.x86_64 /usr/local/bin/iptables-xml \ --slave /sbin/iptables-multi sbin-iptables-multi.x86_64 /usr/local/sbin/iptables-multi \ --slave /sbin/iptables-restore sbin-iptables-restore.x86_64 /usr/local/sbin/iptables-restore \ --slave /sbin/iptables-save sbin-iptables-save.x86_64 /usr/local/sbin/iptables-save \ --slave /usr/share/man/man8/iptables-restore.8.gz man-iptables-restore.x86_64 /usr/local/share/man/man8/iptables-restore.8.gz \ --slave /usr/share/man/man8/iptables-save.8.gz man-iptables-save.x86_64 /usr/share/man/man8/iptables-save.8.gz \ --slave /usr/share/man/man8/iptables-xml.8.gz man-iptables-xml.x86_64 /usr/share/man/man8/iptables-xml.8.gz \ --slave /usr/share/man/man8/iptables.8.gz man-iptables.x86_64 /usr/share/man/man8/iptables.8.gz alternatives --set iptables.x86_64 /usr/local/sbin/iptables alternatives --install /sbin/ip6tables ip6tables.x86_64 /usr/local/sbin/ip6tables 100 \ --slave /sbin/ip6tables-multi sbin-ip6tables-multi.x86_64 /usr/local/sbin/ip6tables-multi \ --slave /sbin/ip6tables-restore sbin-ip6tables-restore.x86_64 /usr/localsbin/ip6tables-restore \ --slave /sbin/ip6tables-save sbin-ip6tables-save.x86_64 /usr/local/sbin/ip6tables-save \ --slave /usr/share/man/man8/ip6tables-restore.8.gz man-ip6tables-restore.x86_64 /usr/local/share/man/man8/ip6tables-restore.8.gz \ --slave /usr/share/man/man8/ip6tables-save.8.gz man-ip6tables-save.x86_64 /usr/local/share/man/man8/ip6tables-save.8.gz \ --slave /usr/share/man/man8/ip6tables.8.gz man-ip6tables.x86_64 /usr/local/share/man/man8/ip6tables.8.gz alternatives --set ip6tables.x86_64 /usr/local/sbin/ip6tables |
Проверяем версию iptables на Centos6
1 |
# iptables -V |
1 |
iptables v1.4.21 |
Провереям наличие модулей Iptables необходимых для корректной работы CSF
1 |
# perl /usr/local/csf/bin/csftest.pl |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server |
Источник:
https://forum.proxmox.com/threads/lxc-container-csf.24800/
https://gist.github.com/aputs/10555845