diff options
Diffstat (limited to 'src/etc/dhcp/dhclient-exit-hooks.d/01-vyos-cleanup')
-rw-r--r-- | src/etc/dhcp/dhclient-exit-hooks.d/01-vyos-cleanup | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/etc/dhcp/dhclient-exit-hooks.d/01-vyos-cleanup b/src/etc/dhcp/dhclient-exit-hooks.d/01-vyos-cleanup new file mode 100644 index 000000000..ce846f6c3 --- /dev/null +++ b/src/etc/dhcp/dhclient-exit-hooks.d/01-vyos-cleanup @@ -0,0 +1,16 @@ +if [[ $reason =~ (EXPIRE|FAIL|RELEASE|STOP) ]]; then + # delete dynamic nameservers from a configuration if lease was deleted + logmsg info "Deleting nameservers with tag \"dhcp-${interface}\" via vyos-hostsd-client" + vyos-hostsd-client --delete-name-servers --tag dhcp-${interface} + # try to delete default ip route (NOTE: here we use 'ip' wrapper, therefore a route will be actually deleted via /usr/sbin/ip or vtysh, according to the system state) + for router in $old_routers; do + logmsg info "Deleting default route: via $router dev ${interface}" + ip -4 route del default via $router dev ${interface} + done +fi + +if [[ $reason =~ (EXPIRE6|RELEASE6|STOP6) ]]; then + # delete dynamic nameservers from a configuration if lease was deleted + logmsg info "Deleting nameservers with tag \"dhcpv6-${interface}\" via vyos-hostsd-client" + vyos-hostsd-client --delete-name-servers --tag dhcpv6-${interface} +fi |