Date: Fri, 9 Jul 2021 05:00:41 +0700 From: Eugene Grosbein <eugen@grosbein.net> To: Rozhuk Ivan <rozhuk.im@gmail.com>, freebsd-net@freebsd.org, freebsd-hackers@FreeBSD.org Subject: Re: How to run script on network address change? Message-ID: <886e5afe-7b4f-db1d-4d41-08a7457c6bdc@grosbein.net> In-Reply-To: <20210620165215.0f3dd15c@rimwks.local> References: <20210620165215.0f3dd15c@rimwks.local>
next in thread | previous in thread | raw e-mail | index | archive | help
20.06.2021 20:52, Rozhuk Ivan wrote
> Hi!
>
>
> I have FreeBSD 13@amd64 router with DHCP client on uplink.
>
> How to run script on IP address change?
Here is my /etc/dhclient-enter-hooks I use with FreeBSD 11 and stock dhclient
for a system with two distinct ISP uplinks. It replaces some of default hooks:
#!/bin/sh
# Ignore ISP DNS servers as we run our own resolver
add_new_resolv_conf() {
return 0
}
add_new_address() {
# Perform interface configuration
eval "$IFCONFIG $interface \
inet $new_ip_address \
netmask $new_subnet_mask \
broadcast $new_broadcast_address \
$medium"
# Save ISP gateway address with interface description for easy access
eval '$IFCONFIG $interface description "gw $new_routers"'
# Generate nice logs
$LOGGER "New IP Address ($interface): $new_ip_address"
$LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
$LOGGER "New Broadcast Address ($interface): $new_broadcast_address"
$LOGGER "New Routers ($interface): $new_routers"
# Some additional logic may be added here like switching default route
return 0
}
# EOF
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?886e5afe-7b4f-db1d-4d41-08a7457c6bdc>
