# WARNING!! When rules.{v4,v6} are changed, the whole iptables configuration is reloaded.
# This creates issues with Docker, which injects its own configuration in iptables when it starts.
# In practice, most (all?) containers will break if rules.{v4,v6} are changed,
# and docker will have to be restared.


*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# DNS
-A INPUT -p udp  --dport 53 -j ACCEPT
-A INPUT -p tcp  --dport 53 -j ACCEPT

# Email
-A INPUT -p tcp  --dport 993 -j ACCEPT
-A INPUT -p tcp  --dport 25 -j ACCEPT
-A INPUT -p tcp  --dport 465 -j ACCEPT
-A INPUT -p tcp  --dport 587 -j ACCEPT

# Old SSH configuration
-A INPUT -p tcp  --dport 110 -j ACCEPT

# New SSH configuration
-A INPUT -p tcp  --dport 22 -j ACCEPT

# LDAP
-A INPUT -p tcp  --dport 389 -j ACCEPT

# Web
-A INPUT -p tcp  --dport 80 -j ACCEPT
-A INPUT -p tcp  --dport 443 -j ACCEPT

# Jitsi
-A INPUT -p tcp  --dport 8080 -j ACCEPT
-A INPUT -p udp  --dport 10000 -j ACCEPT

# Cluster
-A INPUT -s 192.168.1.254 -j ACCEPT # router
{% for selected_host in groups['cluster_nodes'] %}
-A INPUT -s {{ hostvars[selected_host]['public_ip'] }} -j ACCEPT
-A INPUT -s {{ hostvars[selected_host]['private_ip'] }} -j ACCEPT
{% endfor %}

# Rennes
-A INPUT -s 82.253.205.190 -j ACCEPT

-A INPUT -i docker0 -j ACCEPT
-A INPUT -s 127.0.0.1/8 -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

COMMIT


*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

COMMIT


*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

COMMIT


