====== OpenVZ a Firewall ======
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__ \\
---
Aby to fungovalo, je potřeba uvedené moduly načíst ještě před startem kontejnerů !
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í**