[pve-devel] pvefw: why do we check vmbr0-IN for INPUT

Alexandre DERUMIER aderumier at odiso.com
Fri Feb 21 09:48:52 CET 2014


>>Thought a bit more about that, and I wonder if we really need to you jump to vmbr0-IN?
>>I can see that this is an optimization? But we could also use a simple RETURN instead?

Yes, it's an optimization, to not test other tap chains in VMBR-OUT.

If we want to use return in tap chain, I think we can optimize parent chain like this
(Like openstack implementation)


iptables -A proxmoxfw-FORWARD -o vmbr1 -m physdev --physdev-is-bridged -j vmbr1
iptables -A proxmoxfw-FORWARD -i vmbr1 -m physdev --physdev-is-bridged -j vmbr1
iptables -A proxmoxfw-FORWARD -i vmbr1 -j DROP  #disable interbridge routing
iptables -A proxmoxfw-FORWARD -o vmbr1 -j DROP # disable interbridge routing

iptables -A vmbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A vmbr1 -m physdev --physdev-is-bridged --physdev-is-in -j vmbr1-OUT
iptables -A vmbr1 -m physdev --physdev-is-bridged --physdev-is-out -j vmbr1-IN
iptables -A vmbr1 -j ACCEPT


iptables -N tap110i0-OUT
iptables -A vmbr1-OUT -m physdev --physdev-in tap110i0 --physdev-is-bridged -j tap110i0-OUT
iptables -N tap123i0-OUT
iptables -A vmbr1-OUT -m physdev --physdev-in tap123i0 --physdev-is-bridged -j tap123i0-OUT

----- Mail original ----- 

De: "Dietmar Maurer" <dietmar at proxmox.com> 
À: "Alexandre DERUMIER" <aderumier at odiso.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Vendredi 21 Février 2014 09:25:15 
Objet: RE: pvefw: why do we check vmbr0-IN for INPUT 

> >>I am quit unsure about that. It is really difficult to understand that setup. 
> >>Maybe we can use the --state to simplify things? 
> 
> Do you have an example ? 

Thought a bit more about that, and I wonder if we really need to you jump to vmbr0-IN? 
I can see that this is an optimization? But we could also use a simple RETURN instead? 

exists tap100i0-OUT (OJ24RKwkwqb9Xm9aIuRWjhQ1BL4) 
-A tap100i0-OUT -m conntrack --ctstate INVALID -j DROP 
-A tap100i0-OUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
-A tap100i0-OUT -m mac ! --mac-source 0E:0B:38:B8:B3:21 -j DROP 
-A tap100i0-OUT -j GROUP-group1-OUT 

-A tap100i0-OUT -m mark --mark 1 -g vmbr0-IN #NOTE we can also RETURN here? 

-A tap100i0-OUT -j LOG --log-prefix "tap100i0-OUT-dropped: " --log-level 4 
-A tap100i0-OUT -j DROP 



More information about the pve-devel mailing list