[pve-devel] [PATCH] use linko+ name for ovs fwbrint interfaces
Alexandre DERUMIER
aderumier at odiso.com
Wed May 14 15:47:34 CEST 2014
>>When in add:
>>
>> -A FORWARD -j PVEFW-FORWARD
>> -A PVEFW-FORWARD -o vmbr+ -m physdev --physdev-is-bridged --physdev-out fwpr+ -j RETURN
>>
>># ./fwtester.pl -d test-basic1/tests vm2vm
>>IPT statistics: invocation = 3, checks = 30
>>So I guess we do not gain much here?
Not too much gain indeed,
an unfirewalled traffic will do
-A FORWARD -j PVEFW-FORWARD
-A PVEFW-FORWARD -i venet0 -j PVEFW-VENET-OUT
-A PVEFW-FORWARD -m physdev --physdev-in fwln+ --physdev-is-bridged -j PVEFW-FWBR-IN
-A PVEFW-FORWARD -m physdev --physdev-out fwln+ --physdev-is-bridged -j PVEFW-FWBR-OUT
-A PVEFW-FORWARD -o venet0 -j PVEFW-VENET-IN
-A ACCEPT
so 4 rules for unfirewalled veth|tap traffic.
for unfirewalled venet0 traffic, we enter PVEFW-VENET-OUT|IN, so I would like to find a way to bypass it
also,
I don't known if we want to keep
-A PVEFW-FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
for non firewalled vms ?
(do we want to conntrack non firewalled vms ? can improve performance, but in case of firewall attack (synflood for example),
if conntrack if full, this will impact non firewalled vms)
>>> maybe, to bypass firewall, can we simply move first rules from PVE-
>>> FORWARD to PVEFW-FWBR-IN|OUT,PVEFW-VENET-IN|OUT ?
>>>
>>>
>>>
>>> -A FORWARD -j PVEFW-FORWARD
>
>>
>>> -A PVEFW-FORWARD -i venet0 -m set --match-set PVEFW-venet0 src -j
>>> PVEFW-VENET-OUT >>ipset to match only firewall vnet0
>>> -A PVEFW-VENET-OUT -m conntrack --ctstate INVALID -j DROP
>>> -A PVEFW-VENET-OUT -m conntrack --ctstate RELATED,ESTABLISHED -j
>>> ACCEPT
>
>>> -A PVEFW-FORWARD -m physdev --physdev-in fwln+ --physdev-is-bridged -j
> PVEFW-FWBR-IN
>>> -A PVEFW-FWBR-IN -m conntrack --ctstate INVALID -j DROP
>>> -A PVEFW-FWBR-IN -m conntrack --ctstate RELATED,ESTABLISHED -j
>>> ACCEPT
>>> -A PVEFW-FWBR-IN -m set --match-set PVEFW-blacklist src -j DROP
>>>
>>> -A PVEFW-FORWARD -m physdev --physdev-out fwln+ --physdev-is-bridged
>>> -j PVEFW-FWBR-OUT
>>> -A PVEFW-FWBR-OUT -m conntrack --ctstate INVALID -j DROP
>>> -A PVEFW-FWBR-OUT -m conntrack --ctstate RELATED,ESTABLISHED -j
>>> ACCEPT
>>We just moved them the opposite direction?
What do you mean by opposite direction ?
----- Mail original -----
De: "Dietmar Maurer" <dietmar at proxmox.com>
À: "Alexandre DERUMIER" <aderumier at odiso.com>
Cc: pve-devel at pve.proxmox.com
Envoyé: Mercredi 14 Mai 2014 14:38:31
Objet: RE: [pve-devel] [PATCH] use linko+ name for ovs fwbrint interfaces
> >>But I guess that does not work due to physdev match limitation :-/
>
> oh, ok.
The following works for me with fwtester:
# ./fwtester.pl -d test-basic1/tests vm2vm
IPT statistics: invocation = 3, checks = 33
When in add:
-A FORWARD -j PVEFW-FORWARD
-A PVEFW-FORWARD -o vmbr+ -m physdev --physdev-is-bridged --physdev-out fwpr+ -j RETURN
# ./fwtester.pl -d test-basic1/tests vm2vm
IPT statistics: invocation = 3, checks = 30
So I guess we do not gain much here?
> maybe, to bypass firewall, can we simply move first rules from PVE-
> FORWARD to PVEFW-FWBR-IN|OUT,PVEFW-VENET-IN|OUT ?
>
>
>
> -A FORWARD -j PVEFW-FORWARD
>
> -A PVEFW-FORWARD -i venet0 -m set --match-set PVEFW-venet0 src -j
> PVEFW-VENET-OUT >>ipset to match only firewall vnet0
> -A PVEFW-VENET-OUT -m conntrack --ctstate INVALID -j DROP
> -A PVEFW-VENET-OUT -m conntrack --ctstate RELATED,ESTABLISHED -j
> ACCEPT
>
> -A PVEFW-FORWARD -m physdev --physdev-in fwln+ --physdev-is-bridged -j
> PVEFW-FWBR-IN
> -A PVEFW-FWBR-IN -m conntrack --ctstate INVALID -j DROP
> -A PVEFW-FWBR-IN -m conntrack --ctstate RELATED,ESTABLISHED -j
> ACCEPT
> -A PVEFW-FWBR-IN -m set --match-set PVEFW-blacklist src -j DROP
>
> -A PVEFW-FORWARD -m physdev --physdev-out fwln+ --physdev-is-bridged
> -j PVEFW-FWBR-OUT
> -A PVEFW-FWBR-OUT -m conntrack --ctstate INVALID -j DROP
> -A PVEFW-FWBR-OUT -m conntrack --ctstate RELATED,ESTABLISHED -j
> ACCEPT
We just moved them the opposite direction?
> -A PVEFW-FORWARD -o venet0 -m set --match-set PVEFW-venet0 dst -j
> PVEFW-VENET-IN
> -A PVEFW-VENET-IN -m conntrack --ctstate INVALID -j DROP
> -A PVEFW-VENET-IN -m conntrack --ctstate RELATED,ESTABLISHED -j
> ACCEPT
> -A PVEFW-FORWARD -m set --match-set PVEFW-blacklist src -j DROP
>
already committed.
More information about the pve-devel
mailing list