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>