Defaultní konfigurace OpenVZ je poněkud restriktivní k provozovaná stavového firewallu v kontejnerech, proto je potřeba provést následující úpravu nastavení:
V souboru /etc/vz/conf/CTID.conf vyhledáme položku NETFILTER a upravíme ji takto
NETFILTER="full"
Pokud tam volba ještě není, tak ji přidáme. Ve výchozím stavu bývá zakázán stavový firewall.
Ve starších verzích OpenVZ bylo nutné ještě nastavit, jaké moduly firewallu může kontejner využívat:
Do souboru /etc/vz/vz.conf přidáme následující řadky
## IPv4 iptables kernel modules to be enabled in CTs by default IPTABLES="ipt_REJECT ipt_tos ipt_TOS ipt_LOG ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state ip_conntrack_ftp ip_conntrack ipt_comment" ## IPv4 iptables kernel modules to be loaded by init.d/vz script IPTABLES_MODULES="$IPTABLES" ## Enable IPv6 IPV6="yes" ## IPv6 ip6tables kernel modules IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT ip6t_LOG nf_conntrack_ipv6"
Uvedené nastavení je globální pro všechny VPS. Pokud z nějakého důvodu chceme firewall povolit jen pro některé kontejnery, přidáme do příslušného conf souboru virtuálu řádky IPTABLES a IP6TABLES
—
V Centosu se provádí natažení všech potřebných modulů přidáním popř. editací řádku v těchto konfiguračních souborech:
IPTABLES_MODULES="ip_tables ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_LOG ipt_state ipt_TOS ip_conntrack_ftp ip_conntrack ipt_comment"
IP6TABLES_MODULES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT ip6t_LOG nf_conntrack_ipv6"
V Debianu bude potřeba provést obdobný krok pomocí /etc/modules
xt_comment xt_DSCP ipt_LOG nf_nat ip6t_REJECT ip6table_mangle ip6table_filter ip6_tables xt_length xt_hl xt_tcpmss xt_TCPMSS iptable_mangle iptable_filter xt_multiport xt_limit xt_dscp ipt_REJECT ip_tables nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4
Na závěr povolte ipcontrack v openvz, jinak nebude správně fungovat firewall:
options nf_conntrack ip_conntrack_disable_ve0=0
Poznámka: pokud vám po nějakém upgradu kernelu přestane fungovat správně firewall na hostitelském stroji (klasicky se projevuje tak, že dropuje všechny příchozí pakety), nastavte tuto volbu také i když firewall v kontejnerech nepotřebujete.
Nyní proveďte restart stroje a firewall je připraven k používání