ansible-ffibk/roles/network-routing/templates/ffmwu-add-ip-rules.sh.j2

91 lines
4.1 KiB
Text
Raw Normal View History

#!/bin/sh
2017-09-09 11:06:54 +02:00
#
# {{ ansible_managed }}
#
# Priority 7 - lookup rt_table mwu for all incoming traffic of freifunk related interfaces
{% if server_type == 'gateway' or server_type == 'monitoring' %}
{% for mesh in meshes %}
2017-11-06 21:24:56 +01:00
ip -4 rule add from all oif {{ mesh.id }}br lookup mwu priority 7
2019-03-02 18:10:48 +01:00
ip -6 rule add from all oif {{ mesh.id }}br lookup mwu priority 7
2017-09-09 11:06:54 +02:00
{% endfor %}
{% endif %}
{% for network in my_wireguard_networks %}
ip -4 rule add from all iif wg-{{ network.remote[:11] }} lookup mwu priority 7
ip -6 rule add from all iif wg-{{ network.remote[:11] }} lookup mwu priority 7
ip -4 rule add from all oif wg-{{ network.remote[:11] }} lookup mwu priority 7
ip -6 rule add from all oif wg-{{ network.remote[:11] }} lookup mwu priority 7
{% endfor %}
2019-03-02 18:10:48 +01:00
{% for prefix in internal_prefixes %}
ip -4 rule add from {{ prefix.ipv4 }} lookup mwu priority 7
ip -4 rule add to {{ prefix.ipv4 }} lookup mwu priority 7
ip -6 rule add from {{ prefix.ipv6 }} lookup mwu priority 7
ip -6 rule add to {{ prefix.ipv6 }} lookup mwu priority 7
2017-09-09 11:06:54 +02:00
{% endfor %}
2019-03-02 18:10:48 +01:00
{% for prefix in public_prefixes %}
ip -6 rule add from {{ prefix.ipv6 }} lookup mwu priority 7
ip -6 rule add to {{ prefix.ipv6 }} lookup mwu priority 7
2017-09-09 11:06:54 +02:00
{% endfor %}
2019-03-02 18:10:48 +01:00
{% if server_type == 'gateway' %}
2017-09-09 11:06:54 +02:00
# Priority 23 - lookup rt_table icvpn for all incoming traffic of freifunk bridges
{% for mesh in meshes %}
2017-11-06 21:24:56 +01:00
ip -4 rule add from all oif {{ mesh.id }}br lookup icvpn priority 23
2019-03-02 18:10:48 +01:00
ip -6 rule add from all oif {{ mesh.id }}br lookup icvpn priority 23
2017-09-09 11:06:54 +02:00
{% endfor %}
2019-03-02 18:10:48 +01:00
{% for prefix in internal_prefixes %}
ip -4 rule add from {{ prefix.ipv4 }} lookup icvpn priority 23
ip -4 rule add to {{ prefix.ipv4 }} lookup icvpn priority 23
ip -6 rule add from {{ prefix.ipv6 }} lookup icvpn priority 23
ip -6 rule add to {{ prefix.ipv6 }} lookup icvpn priority 23
2017-09-09 11:06:54 +02:00
{% endfor %}
2019-03-02 18:10:48 +01:00
{% for prefix in public_prefixes %}
ip -6 rule add from {{ prefix.ipv6 }} lookup icvpn priority 23
ip -6 rule add to {{ prefix.ipv6 }} lookup icvpn priority 23
2017-09-09 11:06:54 +02:00
{% endfor %}
2017-11-06 21:24:56 +01:00
ip -4 rule add from all oif icvpn lookup icvpn priority 23
ip -6 rule add from all oif icvpn lookup icvpn priority 23
2017-09-09 11:06:54 +02:00
# Priority 41 - lookup rt_table internet for all incoming traffic of freifunk bridges
{% for mesh in meshes %}
2019-03-02 18:10:48 +01:00
ip -6 rule add from all oif {{ mesh.id }}br lookup internet priority 41
2017-09-09 11:06:54 +02:00
{% endfor %}
2019-03-02 18:10:48 +01:00
{% for prefix in internal_prefixes %}
ip -4 rule add from {{ prefix.ipv4 }} lookup internet priority 41
ip -6 rule add from {{ prefix.ipv6 }} lookup internet priority 41
ip -6 rule add to {{ prefix.ipv6 }} lookup internet priority 41
2017-09-09 11:06:54 +02:00
{% endfor %}
2019-03-02 18:10:48 +01:00
{% for prefix in public_prefixes %}
ip -6 rule add from {{ prefix.ipv6 }} lookup internet priority 41
ip -6 rule add to {{ prefix.ipv6 }} lookup internet priority 41
2017-09-09 11:06:54 +02:00
{% endfor %}
2017-10-06 00:15:31 +02:00
ip -4 rule add from {{ ffrl_public_ipv4_nat | ipaddr('host') }} lookup internet priority 41
ip -4 rule add to {{ ffrl_public_ipv4_nat | ipaddr('host') }} lookup internet priority 41
2017-09-09 11:06:54 +02:00
# Priority 61 - at this point this is the end of policy routing for freifunk related routes
{% for mesh in meshes %}
2017-11-06 21:24:56 +01:00
ip -4 rule add from all iif {{ mesh.id }}br type unreachable priority 61
ip -6 rule add from all iif {{ mesh.id }}br type unreachable priority 61
2017-09-09 11:06:54 +02:00
{% endfor %}
2017-11-06 21:24:56 +01:00
ip -4 rule add from all iif icvpn type unreachable priority 61
ip -4 rule add from all iif {{ ansible_default_ipv4.interface }} type unreachable priority 61
{% for server_id, server_value in ffrl_exit_server.items() %}
2017-10-03 20:52:02 +02:00
ip -4 rule add from all iif {{ server_id }} type unreachable priority 61
ip -6 rule add from all iif {{ server_id }} type unreachable priority 61
2017-09-09 11:06:54 +02:00
{% endfor %}
2017-11-06 21:24:56 +01:00
ip -6 rule add from all iif icvpn type unreachable priority 61
ip -6 rule add from all iif {{ ansible_default_ipv6.interface }} type unreachable priority 61
2019-03-02 18:10:48 +01:00
{% for prefix in public_prefixes %}
ip -6 rule add from {{ prefix.ipv6 }} type unreachable priority 61
ip -6 rule add to {{ prefix.ipv6 }} type unreachable priority 61
2017-09-09 11:06:54 +02:00
{% endfor %}
# Priority 107 - lookup policies for the gateway host self originating traffic
ip -4 rule add from all lookup mwu priority 107
ip -4 rule add from all lookup icvpn priority 107
ip -6 rule add from all lookup mwu priority 107
ip -6 rule add from all lookup icvpn priority 107
{% endif %}
2017-09-09 11:06:54 +02:00
exit 0