new wireguard mesh format

master
Niklas Yann Wettengel 6 years ago
parent b711ff0367
commit d527f8e6d0

@ -1,8 +1,8 @@
#!/bin/bash
{% if item.wireguard_mesh_peers %}
{% for peer in item.wireguard_mesh_peers %}
batctl -m bat{{ item.name }} if del mesh{{ item.name }}{{ peer.number }}
ip link set down dev mesh{{ item.name }}{{ peer.number }}
ip link del mesh{{ item.name }}{{ peer.number }} type ip6gretap
{% for host in groups['fastd'] %}
{% for site in hostvars[host]['sites'] if site.name == item.name and site.wireguard_mesh_number != item.wireguard_mesh_number %}
batctl -m bat{{ item.name }} if del mesh{{ item.name }}{{ site.wireguard_mesh_number }}
ip link set down dev mesh{{ item.name }}{{ site.wireguard_mesh_number }}
ip link del mesh{{ item.name }}{{ site.wireguard_mesh_number }} type ip6gretap
{% endfor %}
{% endfor %}
{% endif %}

@ -1,11 +1,12 @@
#!/bin/bash
{% if item.wireguard_mesh_peers %}
{% for peer in item.wireguard_mesh_peers %}
ip link add mesh{{ item.name }}{{ peer.number }} type ip6gretap remote {{ peer.address }} local {{ item.wireguard_mesh_address }} ttl 255 dev wg{{ item.name }}
ip link set mtu 1280 dev mesh{{ item.name }}{{ peer.number }}
ip link set address {{ peer.mac }} dev mesh{{ item.name }}{{ peer.number }}
ip link set up dev mesh{{ item.name }}{{ peer.number }}
batctl -m bat{{ item.name }} if add mesh{{ item.name }}{{ peer.number }}
{% for host in groups['fastd'] %}
{% for site in hostvars[host]['sites'] if site.name == item.name and site.wireguard_mesh_number != item.wireguard_mesh_number %}
ip link add mesh{{ item.name }}{{ site.wireguard_mesh_number }} type ip6gretap remote {{ site.wireguard_mesh_address }} local {{ item.wireguard_mesh_address }} ttl 255 dev wg{{ item.name }}
ip link set mtu 1280 dev mesh{{ item.name }}{{ site.wireguard_mesh_number }}
ip link set address {{ item.wireguard_mesh_mac_prefix }}{{ site.wireguard_mesh_number }} dev mesh{{ item.name }}{{ site.wireguard_mesh_number }}
ip link set up dev mesh{{ item.name }}{{ site.wireguard_mesh_number }}
batctl -m bat{{ item.name }} if add mesh{{ item.name }}{{ site.wireguard_mesh_number }}
{% endfor %}
{% endfor %}
batctl -m bat{{ item.name }} gw server 1000000/1000000
batctl -m bat{{ item.name }} it 10000
@ -14,4 +15,3 @@ echo 64 > /sys/class/net/bat{{ item.name }}/mesh/hop_penalty
netctl start bat{{ item.name }}
systemctl restart dhcpd4.service
systemctl restart named.service
{% endif %}

@ -1,15 +1,17 @@
[Interface]
ListenPort = {{ item.wireguard_mesh_port }}
PrivateKey = {{ item.wireguard_mesh_key }}
PrivateKey = {{ item.wireguard_mesh_priv_key }}
Address = {{ item.wireguard_mesh_address }}/48
MTU = 1400
PostUp = /etc/wireguard/up{{ item.name }}.sh
PreDown = /etc/wireguard/down{{ item.name }}.sh
{% for peer in item.wireguard_mesh_peers %}
{% for host in groups['fastd'] %}
{% for site in hostvars[host]['sites'] if site.name == item.name and site.wireguard_mesh_number != item.wireguard_mesh_number %}
[Peer]
PublicKey = {{ peer.key }}
AllowedIPs = {{ peer.address }}/128
Endpoint = [{{ peer.endpoint }}]:{{ item.wireguard_mesh_port }}
PublicKey = {{ site.wireguard_mesh_pub_key }}
AllowedIPs = {{ site.wireguard_mesh_address }}/128
Endpoint = [{{ site.wireguard_mesh_endpoint }}]:{{ item.wireguard_mesh_port }}
PersistentKeepalive = 30
{% endfor %}
{% endfor %}

Loading…
Cancel
Save