diff options
-rw-r--r-- | roles/common/templates/etc/iptables/services.j2 | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/roles/common/templates/etc/iptables/services.j2 b/roles/common/templates/etc/iptables/services.j2 index db7edf1..c1a8aa4 100644 --- a/roles/common/templates/etc/iptables/services.j2 +++ b/roles/common/templates/etc/iptables/services.j2 @@ -5,44 +5,52 @@ # (in|out|inout)[46]? (tcp|udp|..) (port|port:port|port,port) (port|port:port|port,port) out tcp 80,443 # HTTP/HTTPS out udp 53 # DNS out udp 67 # DHCP {% if 'NTP-master' in group_names %} in udp 123 # NTP out udp 123 # NTP {% else %} out udp 123 123 # NTP {% endif %} in tcp {{ ansible_ssh_port|default('22') }} # SSH {% if 'LDAP-provider' in group_names %} in tcp 636 # LDAPS {% elif 'MX' in group_names or 'lists' in group_names %} out tcp 636 # LDAPS {% endif %} {% if 'MX' in group_names %} in tcp 25 # SMTP +{% if 'MDA' not in group_names %} out tcp {{ postfix_instance.IMAP.port }} +{% endif %} +{% if 'lists' not in group_names %} out tcp {{ postfix_instance.lists.port }} {% endif %} +{% endif %} {% if 'out' in group_names %} +{% if groups.all | difference([inventory_hostname]) %} in tcp {{ postfix_instance.out.port }} +{% endif %} out tcp 25 # SMTP {% else %} out tcp {{ postfix_instance.out.port }} {% endif %} {% if 'IMAP' in group_names %} in tcp 993 # IMAPS in tcp 4190 # ManageSieve {% endif %} -{% if 'MDA' in group_names %} +{% if 'MDA' in group_names and 'MX' not in group_names %} in tcp {{ postfix_instance.IMAP.port }} {% endif %} {% if 'MSA' in group_names %} in tcp 587 # SMTP-AUTH {% endif %} {% if 'webmail' in group_names %} in tcp 80,443 # HTTP/HTTPS +{% if 'IMAP' not in group_names %} out tcp 993 # IMAP out tcp 4190 {% endif %} +{% endif %} |