diff options
author | Niklas Yann Wettengel <niyawe@niyawe.de> | 2018-01-24 03:27:03 +0100 |
---|---|---|
committer | Niklas Yann Wettengel <niyawe@niyawe.de> | 2018-01-24 03:27:03 +0100 |
commit | 99dddff8625388641b9dd84b0e87a55f5c13bc82 (patch) | |
tree | eb57e8113d70ed94f1ef6bc6575e3c62361259b6 /roles/configure_iptables/templates/iptables.rules | |
parent | d2270e2e5045fa1999e8712394e06c1ff27e6ab3 (diff) |
ffrl uplink and fastd split
Diffstat (limited to 'roles/configure_iptables/templates/iptables.rules')
-rw-r--r-- | roles/configure_iptables/templates/iptables.rules | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/roles/configure_iptables/templates/iptables.rules b/roles/configure_iptables/templates/iptables.rules index 6da350c..d395a42 100644 --- a/roles/configure_iptables/templates/iptables.rules +++ b/roles/configure_iptables/templates/iptables.rules @@ -4,12 +4,22 @@ :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] +{% if 'fastd' in group_names %} {% for site in sites %} -A PREROUTING -i bat{{ site.name }} -j MARK --set-xmark 0x1/0xffffffff {% endfor %} -{% for peer in wireguard_bb_peers %} --A PREROUTING -i bb{{ peer.name }} -j MARK --set-xmark 0x1/0xffffffff +{% endif %} + +{% if 'ffrl_uplink' in group_names %} +{% for peer in groups['fastd'] %} +-A PREROUTING -i bb{{ hostvars[peer]['wireguard_bb_name'] }} -j MARK --set-xmark 0x1/0xffffffff +{% endfor %} +{% endif %} +{% if 'fastd' in group_names %} +{% for peer in groups['ffrl_uplink'] %} +-A PREROUTING -i bb{{ hostvars[peer]['wireguard_bb_name'] }} -j MARK --set-xmark 0x1/0xffffffff {% endfor %} +{% endif %} COMMIT *filter :INPUT DROP [0:0] @@ -21,6 +31,8 @@ COMMIT # SSH-Server -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT + +{% if 'fastd' in group_names %} # dns -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -p udp -m udp --dport 53 -j ACCEPT @@ -32,19 +44,38 @@ COMMIT -A INPUT -p udp -m udp --dport 123 -j ACCEPT # fastd -A INPUT -p udp -m udp --dport 10010:10021 -j ACCEPT +{% endif %} # MOSH -A INPUT -p udp -m udp --dport 60000:61000 -j ACCEPT + +{% if 'ffrl_uplink' in group_names %} +# ffrl-gre +{% for peer in ffrl_peers %} +-A INPUT -p gre -s {{ peer.remote }} -j ACCEPT +{% endfor %} +# ffrl bgp +{% for peer in ffrl_peers %} +-A INPUT -i {{ peer.name }} -p tcp -m tcp --dport 179 -j ACCEPT +{% endfor %} +{% endif %} + -A INPUT -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped input: " --log-level 4 +{% if 'fastd' in group_names %} {% for site in sites %} -A FORWARD -i bat{{ site.name }} -p udp --dport 10010:10021 -j REJECT {% endfor %} --A FORWARD -o {{ ansible_default_ipv4.interface }} -j REJECT +{% endif %} + COMMIT *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] --A POSTROUTING -o mullvad -j MASQUERADE +{% if 'ffrl_uplink' in group_names %} +{% for peer in ffrl_peers %} +-A POSTROUTING ! -s {{ ffrl_ip4 }} -o {{ peer.name }} -j SNAT --to-source {{ ffrl_ip4 }} +{% endfor %} +{% endif %} COMMIT |