X-Git-Url: https://git.proxmox.com/?p=pve-firewall.git;a=blobdiff_plain;f=src%2FPVE%2FFirewall.pm;h=95bc130b0b3e32e41026455931f36884d395b7e0;hp=ce8d3fbfcc0cb40776a87a06e64e7958a4d817b0;hb=3ba6fd17986d8f719b98fca3a18d8af8aa35f923;hpb=8aef51771c8271c764a18fcbe8be8d763b65acfe diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm index ce8d3fb..95bc130 100644 --- a/src/PVE/Firewall.pm +++ b/src/PVE/Firewall.pm @@ -2576,8 +2576,7 @@ sub compile { # fixme: what log level should we use here? my $loglevel = get_option_log_level($hostfw_options, "log_level_out"); - my $accept = ruleset_chain_exist($ruleset, "PVEFW-IPS") ? "PVEFW-IPS" : "ACCEPT"; - ruleset_chain_add_conn_filters($ruleset, "PVEFW-FORWARD", $accept); + ruleset_chain_add_conn_filters($ruleset, "PVEFW-FORWARD", "ACCEPT"); if ($cluster_conf->{ipset}->{blacklist}){ ruleset_addlog($ruleset, "PVEFW-FORWARD", 0, "DROP: ", $loglevel, "-m set --match-set PVEFW-blacklist src"); @@ -2591,10 +2590,10 @@ sub compile { ruleset_create_chain($ruleset, "PVEFW-FWBR-IN"); ruleset_chain_add_input_filters($ruleset, "PVEFW-FWBR-IN", $hostfw_options); - ruleset_addrule($ruleset, "PVEFW-FORWARD", "-m physdev --physdev-is-bridged --physdev-in link+ -j PVEFW-FWBR-IN"); + ruleset_addrule($ruleset, "PVEFW-FORWARD", "-m physdev --physdev-is-bridged --physdev-in fwln+ -j PVEFW-FWBR-IN"); ruleset_create_chain($ruleset, "PVEFW-FWBR-OUT"); - ruleset_addrule($ruleset, "PVEFW-FORWARD", "-m physdev --physdev-is-bridged --physdev-out link+ -j PVEFW-FWBR-OUT"); + ruleset_addrule($ruleset, "PVEFW-FORWARD", "-m physdev --physdev-is-bridged --physdev-out fwln+ -j PVEFW-FWBR-OUT"); ruleset_create_chain($ruleset, "PVEFW-VENET-IN"); ruleset_chain_add_input_filters($ruleset, "PVEFW-VENET-IN", $hostfw_options); @@ -2640,6 +2639,7 @@ sub compile { if ($conf->{ip_address} && $conf->{ip_address}->{value}) { my $ip = $conf->{ip_address}->{value}; + $ip =~ s/\s+/,/g; generate_venet_rules_direction($ruleset, $cluster_conf, $hostfw_conf, $vmfw_conf, $vmid, $ip, 'IN'); generate_venet_rules_direction($ruleset, $cluster_conf, $hostfw_conf, $vmfw_conf, $vmid, $ip, 'OUT'); } @@ -2659,6 +2659,10 @@ sub compile { } } + if(ruleset_chain_exist($ruleset, "PVEFW-IPS")){ + ruleset_insertrule($ruleset, "PVEFW-FORWARD", "-m conntrack --ctstate RELATED,ESTABLISHED -j PVEFW-IPS"); + } + return ($ruleset, $ipset_ruleset); }