особенности использования iptables в контейнере openvz
Применимость: Linux, OpenVZ
Слова для поиска:
Внутри сервера VPS может использоваться система Firewalling (т.е. пользователь может создать условия - правила, ограничивающие доступ к некоторым сервисам, используя утилиту iptables внутри VPS). Однако есть некоторые особености о которых полезно знать.
Ошибки при выполнении iptables
Если у вас на виртуальном сервере при выполнении команды iptables -L возникают такие ошибки:
FATAL: Could not load /lib/modules/2.6.18-194.26.1.el5.028stab079.2/modules.dep: No such file or directory FATAL: Could not load /lib/modules/2.6.18-194.26.1.el5.028stab079.2/modules.dep: No such file or directory FATAL: Could not load /lib/modules/2.6.18-194.26.1.el5.028stab079.2/modules.dep: No such file or directory Chain INPUT (policy ACCEPT) target prot opt source destination ISPMGR all -- anywhere anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ISPMGR all -- anywhere anywhere Chain ISPMGR (2 references) target prot opt source destinationПроблему решает такая команда:
mkdir -p /lib/modules/$(uname -r);depmod -a
Не все модули ядра доступны
Файловая система ядра procfs и функции iptables доступны внутри контейнера OpenVZ с набором ограничений. Cписок модулей пригодных для загрузки:
ip_conntrack, ip_conntrack_ftp, ip_conntrack_irc, iptable_fliter, ipt_length, ipt_limit, ipt_LOG, iptable_mangle, ipt_conntrack, ipt_helper, ipt_state, ipt_tcpmss, ipt_tos, pt_multiport, iptable_nat, ip_nat_ftp,ip_nat_irc, ipt_REJECT, ipt TCPMSS, ipt TOS, ipt ttl.Можно пытаться использовать и некторые другие, но это требует длительного предварительного тестирования на резервном узле (это не всегда возможно)
К сожалению не все модули поддерживаются в OpenVZ и есть ограничения конкретной версии ядра. Кроме того необходимо исключить злонамеренные действия, возможное воздействие на другие контейнеры, безопасность и стабильность.
Постарайтесь обойтись теми что есть. Если вы используете VPS как вебсервер, вам этих возможностей должно быть достаточно.
detected the following iptables/netfilter capabilities: NAT: Not available Packet Mangling: Available Multi-port Match: Available Extended Multi-port Match: Available Connection Tracking Match: Not available Packet Type Match: Not available Policy Match: Not available Physdev Match: Not available Physdev-is-bridged Support: Not available Packet length Match: Available IP range Match: Not available Recent Match: Not available Owner Match: Not available CONNMARK Target: Not available Connmark Match: Not available Raw Table: Not available IPP2P Match: Not available CLASSIFY Target: Not available Extended REJECT: Available Repeat match: Not available MARK Target: Not available Mangle FORWARD Chain: Available Comments: Not available Address Type Match: Not available TCPMSS Match: Available Hashlimit Match: Not available NFQUEUE Target: Not available Realm Match: Not available Helper Match: Not available Connlimit Match: Not available Time Match: Not available Goto Support: Available LOGMARK Target: Not available IPMARK Target: Not available LOG Target: Available Persistent SNAT: Not available TPROXY Target: Not available FLOW Classifier: Not available fwmark route mask: Not available Mark in any table: Not available Header Match: Not available
cat /proc/net/ip_tables_matches
udp tcp state length ttl tcpmss multiport multiport limit tos icmp