blob: 42b0bea2b6fbd5ead9247e3c06471188d6774001 (
plain) (
tree)
|
|
{# pf ~~ templates/pf.conf.j2 #}
# pf ~~ /etc/pf.conf
# *
# common config. by Ansible
# *
set block-policy drop
set loginterface egress
set skip on { lo tun0 }
block all
{% for service in services %}
pass in quick on egress proto {{ service["proto"] }} to port {{ service["port"] }}
{% endfor %}
# redirection
{% for h in groups["all"] %}
{% set h = hostvars[h] %}
{##}
{% if h.services is defined %}
{% for service in h.services if h.ansible_host != "dcontroller" and service.public is defined and service.public%}
pass in on egress proto { {{ service.proto }} } from any to any port {{ service.port }} rdr-to {{ h.ip.in }}
{% endfor %}
{% endif %}
{##}
{% endfor %}
# *
# sub-config. by Ansible
# *
{% if hypervisor is defined and vms is defined %}
# hypervisor network passthrough
{% for i in range(vms | length + 5) %}
set skip on tap{{ i }}
{% endfor %}
{% endif %}
{% include "templates/" + inventory_hostname + "/etc/pf.conf.j2" ignore missing %}
# *
# out. interface by Ansible
# *
pass out quick inet
pass in proto { icmp, icmp6 } all
|