[pve-devel] pvefw: masquerade problems and conntrack zones
Alexandre DERUMIER
aderumier at odiso.com
Mon Mar 10 11:01:24 CET 2014
Hi,
I'm back from holiday !
>>But I do not understand this. Why is that required? Is that the correct way to do it?
I'm not sure, but
post-up iptables -t raw -A PREROUTING -s '10.10.10.0/24' -i vmbr1 -j CT --zone 1 # why do we need this?
post-up iptables -t raw -A PREROUTING -d '10.10.10.0/24' -i vmbr1 -j CT --zone 1 # why do we need this?
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o pm0 -j MASQUERADE >> apply on default zone 0
so, that should mean that apply -j MASQUERADE don't apply on vmbr1 with zone 1
----- Mail original -----
De: "Dietmar Maurer" <dietmar at proxmox.com>
À: "Alexandre DERUMIER (aderumier at odiso.com)" <aderumier at odiso.com>
Cc: pve-devel at pve.proxmox.com
Envoyé: Lundi 10 Mars 2014 09:09:32
Objet: pvefw: masquerade problems and conntrack zones
The following configuration to MASQUERADE traffic is known to work:
------------
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o pm0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o pm0 -j MASQUERADE
--------------
But this is a 'routed' configuration, so 'physdev' match does not work correctly.
So I tried to use the 'veth' workaround:
----------
auto vmbr1
iface vmbr1 inet manual
bridge_ports none
bridge_stp off
bridge_fd 0
auto pm1
iface pm1 inet static
address 10.10.10.1
netmask 255.255.255.0
VETH_BRIDGETO vmbr1
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o pm0 -j MASQUERADE
post-down iptables -t nat -F POSTROUTING
----------
This works, but fails as soon as soon as I enable nf filter on the bridge (starting pvefw).
I found out that I can make it work by using CT zones:
----------
auto vmbr1
iface vmbr1 inet manual
bridge_ports none
bridge_stp off
bridge_fd 0
auto pm1
iface pm1 inet static
address 10.10.10.1
netmask 255.255.255.0
VETH_BRIDGETO vmbr1
post-up iptables -t raw -A PREROUTING -s '10.10.10.0/24' -i vmbr1 -j CT --zone 1 # why do we need this?
post-up iptables -t raw -A PREROUTING -d '10.10.10.0/24' -i vmbr1 -j CT --zone 1 # why do we need this?
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o pm0 -j MASQUERADE
post-down iptables -t nat -F POSTROUTING
post-down iptables -t raw -F PREROUTING
----------
But I do not understand this. Why is that required? Is that the correct way to do it?
More information about the pve-devel
mailing list