Colobridge WIKI

особенности использования iptables в контейнере openvz

Применимость: Linux, OpenVZ

Слова для поиска:


Внутри сервера VPS может использоваться система Firewalling (т.е. пользователь может создать условия - правила, ограничивающие доступ к некоторым сервисам, используя утилиту iptables внутри VPS). Однако есть некоторые особености о которых полезно знать.

Если у вас на виртуальном сервере при выполнении команды 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