A volte c’è la necessità di esporre direttamente su internet alcune VM utilizzando un bridge sull’interfaccia esterna.
Di default il bridge non fa transitare i pacchetti da netfilter quindi non è possibile implementare alcun controllo di sicurezza.
Per ovviare a questo comportamento basta attivare questa funzione con:
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
e per rendere definitive le modifiche, inserire in /etc/sysctl.conf:
net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1
a questo punto i pacchetti transiteranno dalle catene standard e sarà possibile attivare singolarmente le porte in ingresso ed in uscita utilizzando il modulo di controllo sull’interfaccia fisica:
iptables -A FORWARD -m physdev --physdev-out veth201.0 -m multiport -p tcp --dports 80 -j ACCEPT iptables -A FORWARD -m physdev --physdev-in veth201.0 -m multiport -p udp --dports 53 -j ACCEPT iptables -A FORWARD -m physdev --physdev-in veth201.0 -m multiport -p tcp --dports 80 -j ACCEPT
andrea