#!/bin/sh # # {{ ansible_managed }} # {% if ffmwu_server_type == 'gateway' %} # Priority 7 - lookup rt_table mwu for all incoming traffic of freifunk related interfaces {% for mesh in meshes %} ip -4 rule del from {{ mesh.ipv4_network | ipaddr('network') }}/16 lookup mwu priority 7 ip -4 rule del to {{ mesh.ipv4_network | ipaddr('network') }}/16 lookup mwu priority 7 ip -4 rule del from all oif {{ mesh.id }}br lookup mwu priority 7 {% for ula in mesh.ipv6_ula %} ip -6 rule del from {{ ula }} lookup mwu priority 7 ip -6 rule del to {{ ula }} lookup mwu priority 7 {% endfor %} {% for public in mesh.ipv6_public %} ip -6 rule del from {{ public }} lookup mwu priority 7 ip -6 rule del to {{ public }} lookup mwu priority 7 {% endfor %} ip -6 rule del from all oif {{ mesh.id }}br lookup mwu priority 7 {% endfor %} # Priority 23 - lookup rt_table icvpn for all incoming traffic of freifunk bridges {% for mesh in meshes %} ip -4 rule del from {{ mesh.ipv4_network | ipaddr('network') }}/16 lookup icvpn priority 23 ip -4 rule del to {{ mesh.ipv4_network | ipaddr('network') }}/16 lookup icvpn priority 23 ip -4 rule del from all oif {{ mesh.id }}br lookup icvpn priority 23 {% for ula in mesh.ipv6_ula %} ip -6 rule del from {{ ula }} lookup icvpn priority 23 ip -6 rule del to {{ ula }} lookup icvpn priority 23 {% endfor %} {% for public in mesh.ipv6_public %} ip -6 rule del from {{ public }} lookup icvpn priority 23 ip -6 rule del to {{ public }} lookup icvpn priority 23 {% endfor %} ip -6 rule del from all oif {{ mesh.id }}br lookup icvpn priority 23 {% endfor %} ip -4 rule del from all oif icvpn lookup icvpn priority 23 ip -6 rule del from all oif icvpn lookup icvpn priority 23 # Priority 41 - lookup rt_table internet for all incoming traffic of freifunk bridges {% for mesh in meshes %} ip -4 rule del from {{ mesh.ipv4_network | ipaddr('network') }}/16 lookup internet priority 41 {% for ula in mesh.ipv6_ula %} ip -6 rule del from {{ ula }} lookup internet priority 41 ip -6 rule del to {{ ula }} lookup internet priority 41 {% endfor %} {% for public in mesh.ipv6_public %} ip -6 rule del from {{ public }} lookup internet priority 41 ip -6 rule del to {{ public }} lookup internet priority 41 {% endfor %} ip -6 rule del from all oif {{ mesh.id }}br lookup internet priority 41 {% endfor %} ip -4 rule del from {{ ffrl_public_ipv4_nat | ipaddr('host') }} lookup internet priority 41 ip -4 rule del to {{ ffrl_public_ipv4_nat | ipaddr('host') }} lookup internet priority 41 # Priority 61 - at this point this is the end of policy routing for freifunk related routes {% for mesh in meshes %} ip -4 rule del from all iif {{ mesh.id }}br type unreachable priority 61 ip -6 rule del from all iif {{ mesh.id }}br type unreachable priority 61 {% endfor %} ip -4 rule del from all iif icvpn type unreachable priority 61 ip -4 rule del from all iif {{ ansible_default_ipv4.interface }} type unreachable priority 61 {% for server_id, server_value in ffrl_exit_server.items() %} ip -4 rule del from all iif {{ server_id }} type unreachable priority 61 ip -6 rule del from all iif {{ server_id }} type unreachable priority 61 {% endfor %} ip -6 rule del from all iif icvpn type unreachable priority 61 ip -6 rule del from all iif {{ ansible_default_ipv6.interface }} type unreachable priority 61 {% for mesh in meshes %} {% for public in mesh.ipv6_public %} ip -6 rule del from {{ public }} type unreachable priority 61 ip -6 rule del to {{ public }} type unreachable priority 61 {% endfor %} {% endfor %} # Priority 107 - lookup policies for the gateway host self originating traffic ip -4 rule del from all lookup mwu priority 107 ip -4 rule del from all lookup icvpn priority 107 ip -6 rule del from all lookup mwu priority 107 ip -6 rule del from all lookup icvpn priority 107 {% else %} # Priority 7 - lookup rt_table mwu for all incoming traffic of freifunk related interfaces {% for mesh in meshes %} ip -4 rule del from all iif {{ mesh.id }}br lookup mwu priority 7 ip -4 rule del from {{ mesh.ipv4_network | ipaddr('net') | ipaddr(magic) | ipaddr('ip/prefix') }}/32 lookup mwu priority 7 {% for ula in mesh.ipv6_ula %} ip -6 rule del from all iif {{ mesh.id }}br lookup mwu priority 7 ip -6 rule del from {{ ula | ipaddr('net') | ipsubnet(64, 0) | ipaddr(magic) | ipaddr('ip/prefix') }}/128 lookup mwu priority 7 {% endfor %} {% endfor %} {% endif %} exit 0