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() {