|
@@ -15,6 +15,7 @@
|
|
{%- set services = salt['ffho_netfilter.generate_service_rules'](fw_config, node_config) %}
|
|
{%- set services = salt['ffho_netfilter.generate_service_rules'](fw_config, node_config) %}
|
|
{%- set forward = salt['ffho_netfilter.generate_forward_policy'](fw_config, node_config) %}
|
|
{%- set forward = salt['ffho_netfilter.generate_forward_policy'](fw_config, node_config) %}
|
|
{%- set nat_policy = salt['ffho_netfilter.generate_nat_policy'](node_config) %}
|
|
{%- set nat_policy = salt['ffho_netfilter.generate_nat_policy'](node_config) %}
|
|
|
|
+{%- set mgmt_config = salt['ffho_netfilter.generate_mgmt_config'](fw_config, node_config) %}
|
|
{%- set urpf = salt['ffho_netfilter.generate_urpf_policy'](node_config) %}
|
|
{%- set urpf = salt['ffho_netfilter.generate_urpf_policy'](node_config) %}
|
|
{%- set ospf_ifaces = salt['ffho_netfilter.get_ospf_active_interface'](node_config) %}
|
|
{%- set ospf_ifaces = salt['ffho_netfilter.get_ospf_active_interface'](node_config) %}
|
|
{%- set vxlan_ifaces = salt['ffho_netfilter.get_vxlan_interfaces'](node_config['ifaces']) %}
|
|
{%- set vxlan_ifaces = salt['ffho_netfilter.get_vxlan_interfaces'](node_config['ifaces']) %}
|
|
@@ -67,6 +68,9 @@ table ip filter {
|
|
{%- if urpf %}
|
|
{%- if urpf %}
|
|
jump urpf
|
|
jump urpf
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
+{%- if mgmt_config and mgmt_config['prefixes'][4] %}
|
|
|
|
+ ip daddr { {{ mgmt_config['prefixes'][4]|join(', ') }} } oifname { {{ mgmt_config['ifaces']|join(', ') }} } jump mgmt
|
|
|
|
+{%- endif %}
|
|
{%- for rule in forward['rules'].get ('4', []) %}
|
|
{%- for rule in forward['rules'].get ('4', []) %}
|
|
{{ rule }}
|
|
{{ rule }}
|
|
{%- endfor %}
|
|
{%- endfor %}
|
|
@@ -95,6 +99,16 @@ table ip filter {
|
|
}
|
|
}
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
|
|
|
|
+{%- if mgmt_config %}
|
|
|
|
+ chain mgmt {
|
|
|
|
+ ct state related,established counter accept
|
|
|
|
+ jump admin_access
|
|
|
|
+ jump icmp_chain
|
|
|
|
+ jump monitoring
|
|
|
|
+ jump log-reject
|
|
|
|
+ }
|
|
|
|
+{%- endif %}
|
|
|
|
+
|
|
chain monitoring {
|
|
chain monitoring {
|
|
{%- for ip in icinga2_queriers if not ":" in ip %}
|
|
{%- for ip in icinga2_queriers if not ":" in ip %}
|
|
ip saddr {{ ip }} counter accept comment "Icinga2"
|
|
ip saddr {{ ip }} counter accept comment "Icinga2"
|