29 lines
1 KiB
Django/Jinja
29 lines
1 KiB
Django/Jinja
auto wg_{{ item.name }}
|
|
iface wg_{{ item.name }} inet manual
|
|
post-down ip link del $IFACE
|
|
pre-up ip link add $IFACE type wireguard || true
|
|
pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
|
|
{% if item.route|length == 1 and item.ip|length == 1%}
|
|
pre-up ip a add {{ item.ip[0] }} peer {{ item.route[0] }} dev $IFACE
|
|
up ip route replace {{ item.route[0] }} src {{ item.ip[0].split('/')[0] }} dev $IFACE
|
|
{% else %}
|
|
{% for i in item.ip %}
|
|
pre-up ip a add {{ i }} dev $IFACE
|
|
{% endfor %}
|
|
{% for i in item.route %}
|
|
up ip route replace {{ i }} dev $IFACE
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
iface wg_{{ item.name }} inet6 manual
|
|
{% if item.route6|length == 1 and item.ip6|length == 1%}
|
|
pre-up ip -6 a add {{ item.ip6[0] }} peer {{ item.route6[0] }} dev $IFACE
|
|
up ip -6 route replace {{ item.route6[0] }} src {{ item.ip6[0].split('/')[0] }} dev $IFACE
|
|
{% else %}
|
|
{% for i in item.ip6 %}
|
|
pre-up ip -6 a add {{ i }} dev $IFACE
|
|
{% endfor %}
|
|
{% for i in item.route6 %}
|
|
up ip -6 route replace {{ i }} dev $IFACE
|
|
{% endfor %}
|
|
{% endif %}
|