aboutsummaryrefslogtreecommitdiff
path: root/straper/db/public/network/etc-network/if-down.d/resolved
diff options
context:
space:
mode:
Diffstat (limited to 'straper/db/public/network/etc-network/if-down.d/resolved')
-rwxr-xr-xstraper/db/public/network/etc-network/if-down.d/resolved26
1 files changed, 26 insertions, 0 deletions
diff --git a/straper/db/public/network/etc-network/if-down.d/resolved b/straper/db/public/network/etc-network/if-down.d/resolved
new file mode 100755
index 0000000..5c603d8
--- /dev/null
+++ b/straper/db/public/network/etc-network/if-down.d/resolved
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Script fragment to make ifupdown supply DNS information to resolved
+#
+
+case "$ADDRFAM" in
+ inet|inet6) : ;;
+ *) exit 0 ;;
+esac
+
+if systemctl is-enabled systemd-resolved > /dev/null 2>&1; then
+ interface=$IFACE
+ if [ ! "$interface" ]; then
+ return
+ fi
+ ifindex=$(cat "/sys/class/net/$interface/ifindex")
+ if [ ! "$ifindex" ]; then
+ return
+ fi
+ mystatedir=/run/network
+ statedir=/run/systemd/resolve/netif
+ rm -f "$mystatedir/isc-dhcp-v4-$interface" "$mystatedir/isc-dhcp-v6-$interface" "$mystatedir/ifupdown-inet-$interface" "$mystatedir/ifupdown-inet6-$interface" "$statedir/$ifindex"
+ if systemctl --quiet is-active systemd-resolved; then
+ resolvectl revert "$ifindex" || true
+ fi
+fi