diff --git a/bundles/wireguard/files/pppd-ip-up b/bundles/wireguard/files/pppd-ip-up index aaab096..5e5d200 100644 --- a/bundles/wireguard/files/pppd-ip-up +++ b/bundles/wireguard/files/pppd-ip-up @@ -4,9 +4,7 @@ # it gets connected. Easiest way is to simply send some pings to the # other side. -% for peer, config in node.metadata.get('wireguard/peers', {}).items(): -% for ip in sorted(config['ips']): -# refresh connection to ${peer} ${ip} -/usr/bin/ping -c 4 ${ip.split('/')[0] if '/' in ip else ip} -% endfor +% for peer, config in sorted(node.metadata.get('wireguard/peers', {}).items()): +# refresh connection to ${peer} +/usr/bin/ping -c 4 ${config['their_ip']} % endfor diff --git a/bundles/wireguard/items.py b/bundles/wireguard/items.py index a380da7..053cce1 100644 --- a/bundles/wireguard/items.py +++ b/bundles/wireguard/items.py @@ -28,3 +28,10 @@ for number, (peer, config) in enumerate(sorted(node.metadata.get('wireguard/peer 'svc_systemd:systemd-networkd:restart', }, } + +if node.has_bundle('pppd'): + files['/etc/ppp/ip-up.d/reconnect-wireguard'] = { + 'source': 'pppd-ip-up', + 'content_type': 'mako', + 'mode': '0755', + }