only use resolvconf is available, fall back to resolvectl if present
otherwise. don't set dns if both are missing.
---
src/tools/wg-quick/linux.bash | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/tools/wg-quick/linux.bash b/src/tools/wg-quick/linux.bash
index 3f1976b..f86f0c8 100755
--- a/src/tools/wg-quick/linux.bash
+++ b/src/tools/wg-quick/linux.bash
@@ -151,13 +151,21 @@ resolvconf_iface_prefix() {
HAVE_SET_DNS=0
set_dns() {
[[ ${#DNS[@]} -gt 0 ]] || return 0
- printf 'nameserver %s\n' "${DNS[@]}" | cmd resolvconf -a "$(resolvconf_iface_prefix)$INTERFACE" -m 0 -x
+ if [ -x /usr/bin/resolvconf ]; then
+ printf 'nameserver %s\n' "${DNS[@]}" | cmd resolvconf -a "$(resolvconf_iface_prefix)$INTERFACE" -m 0 -x
+ elif [ -x /usr/bin/resolvectl ]; then
+ cmd resolvectl dns $INTERFACE "${DNS[@]}"
+ fi
HAVE_SET_DNS=1
}
unset_dns() {
[[ ${#DNS[@]} -gt 0 ]] || return 0
- cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
+ if [ -x /usr/bin/resolvconf ]; then
+ cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
+ elif [ -x /usr/bin/resolvectl ]; then
+ cmd resolvectl revert $INTERFACE
+ fi
}
add_route() {
_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard