diff options
author | Daniil Baturin <daniil@vyos.io> | 2024-03-21 01:03:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-21 01:03:06 +0100 |
commit | 33dfe6e07e5cd33363aa22e35f827d8c59ee5e06 (patch) | |
tree | 588597dff3c1d8762f6ce359dcfb7df35e2099ee /src | |
parent | a33aacf8ab67bab183f2ec84be49966a4c939c3d (diff) | |
parent | 62bda3b082a79c2f31483dba5bfeb19464f6dbe2 (diff) | |
download | vyos-1x-33dfe6e07e5cd33363aa22e35f827d8c59ee5e06.tar.gz vyos-1x-33dfe6e07e5cd33363aa22e35f827d8c59ee5e06.zip |
Merge pull request #3159 from sarthurdev/T6147
conntrack: T6147: Enable conntrack when firewall state-policy is defined
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/system_conntrack.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/conf_mode/system_conntrack.py b/src/conf_mode/system_conntrack.py index a1472aaaa..3d42389f6 100755 --- a/src/conf_mode/system_conntrack.py +++ b/src/conf_mode/system_conntrack.py @@ -185,12 +185,16 @@ def generate(conntrack): conntrack['ipv4_firewall_action'] = 'return' conntrack['ipv6_firewall_action'] = 'return' - for rules, path in dict_search_recursive(conntrack['firewall'], 'rule'): - if any(('state' in rule_conf or 'connection_status' in rule_conf or 'offload_target' in rule_conf) for rule_conf in rules.values()): - if path[0] == 'ipv4': - conntrack['ipv4_firewall_action'] = 'accept' - elif path[0] == 'ipv6': - conntrack['ipv6_firewall_action'] = 'accept' + if dict_search_args(conntrack['firewall'], 'global_options', 'state_policy') != None: + conntrack['ipv4_firewall_action'] = 'accept' + conntrack['ipv6_firewall_action'] = 'accept' + else: + for rules, path in dict_search_recursive(conntrack['firewall'], 'rule'): + if any(('state' in rule_conf or 'connection_status' in rule_conf or 'offload_target' in rule_conf) for rule_conf in rules.values()): + if path[0] == 'ipv4': + conntrack['ipv4_firewall_action'] = 'accept' + elif path[0] == 'ipv6': + conntrack['ipv6_firewall_action'] = 'accept' render(conntrack_config, 'conntrack/vyos_nf_conntrack.conf.j2', conntrack) render(sysctl_file, 'conntrack/sysctl.conf.j2', conntrack) |