2023-07-20 20:27:37 +02:00
|
|
|
auto {{ vpn_wireguard_iface }}
|
|
|
|
iface {{ vpn_wireguard_iface }} inet static
|
2022-12-20 19:47:11 +01:00
|
|
|
pre-up /usr/local/sbin/ip-link-add.sh $IFACE type wireguard
|
|
|
|
pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
|
2023-07-20 20:50:42 +02:00
|
|
|
pre-up ip link set mtu {{ vpn_wireguard_mtu }} dev $IFACE
|
2022-12-20 19:47:11 +01:00
|
|
|
|
|
|
|
post-up /usr/local/sbin/post-up-$IFACE-inet.nft
|
|
|
|
post-up /usr/local/sbin/post-up-$IFACE-ipv4.nft
|
|
|
|
{% if vpn_wireguard_role == "server" %}
|
2023-07-22 12:28:49 +02:00
|
|
|
{% if vpn_wireguard_routing_table is defined %}
|
|
|
|
post-up ip rule add sport {{ vpn_wireguard_port }} ipproto udp table {{ vpn_wireguard_routing_table }}
|
|
|
|
post-up ip -6 rule add sport {{ vpn_wireguard_port }} ipproto udp table {{ vpn_wireguard_routing_table }}
|
|
|
|
{% endif %}
|
2022-12-20 19:47:11 +01:00
|
|
|
{% for client in vpn_wireguard_clients %}
|
|
|
|
{% if 'subnet' in client %}
|
|
|
|
post-up ip route add {{ client.subnet }} dev $IFACE
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% elif vpn_wireguard_role == "client" %}
|
|
|
|
post-up ip route add default dev $IFACE table {{ vpn_wireguard_routing_table }}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if vpn_wireguard_role == "server" %}
|
|
|
|
{% for client in vpn_wireguard_clients %}
|
|
|
|
{% if 'subnet' in client %}
|
|
|
|
pre-down ip route del {{ client.subnet }} dev $IFACE
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
2023-07-22 12:28:49 +02:00
|
|
|
{% if vpn_wireguard_routing_table is defined %}
|
|
|
|
pre-down ip -6 rule del sport {{ vpn_wireguard_port }} ipproto udp table {{ vpn_wireguard_routing_table }}
|
|
|
|
pre-down ip rule del sport {{ vpn_wireguard_port }} ipproto udp table {{ vpn_wireguard_routing_table }}
|
|
|
|
{% endif %}
|
2022-12-20 19:47:11 +01:00
|
|
|
{% elif vpn_wireguard_role == "client" %}
|
|
|
|
pre-down ip route del default dev $IFACE table {{ vpn_wireguard_routing_table }}
|
|
|
|
{% endif %}
|
|
|
|
pre-down /usr/local/sbin/pre-down-$IFACE-ipv4.nft
|
|
|
|
pre-down /usr/local/sbin/pre-down-$IFACE-inet.nft
|
|
|
|
|
|
|
|
address {{ vpn_wireguard_address }}
|
2023-07-22 12:28:49 +02:00
|
|
|
netmask {{ vpn_wireguard_prefixlen }}
|
|
|
|
{% if vpn_wireguard_address_v6 is defined %}
|
|
|
|
|
|
|
|
iface {{ vpn_wireguard_iface }} inet6 static
|
|
|
|
{% if vpn_wireguard_role == "client" %}
|
|
|
|
post-up ip -6 route add default dev $IFACE table {{ vpn_wireguard_routing_table }}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if vpn_wireguard_role == "client" %}
|
|
|
|
pre-down ip -6 route del default dev $IFACE table {{ vpn_wireguard_routing_table }}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
address {{ vpn_wireguard_address_v6 }}
|
|
|
|
netmask {{ vpn_wireguard_prefixlen_v6 }}
|
|
|
|
{% endif %}
|
|
|
|
{% if vpn_wireguard_address_v6 is defined %}
|
|
|
|
{% if vpn_wireguard_role == "server" %}
|
|
|
|
{{ __assert__wireguard_server_role_not_supported_for_ipv6 }}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|