From 8656f99f8ef54110c053b7fa913246c5bd002896 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Thu, 30 Sep 2021 06:37:42 +0200 Subject: [PATCH] bundles/wireguard: re-add reconnect script for added resiliency --- bundles/wireguard/files/pppd-ip-up | 8 +++----- bundles/wireguard/items.py | 7 +++++++ 2 files changed, 10 insertions(+), 5 deletions(-) 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', + }