воспользовался dhclient-scriptДобавляем /etc/dhclient-enter-hooks :
if [ $reason == "PREINIT" ]; then
echo 'AT^NDISDUP=1,1,"internet"' > /dev/cuaU1
fi
Добавляем /etc/dhclient-exit-hooks :
if [ $reason == "BOUND" ]; then
if [ $new_ip_address != $old_ip_address ]; then
echo $new_ip_address > /etc/megafon_ip
echo $new_routers > /etc/megafon_router
#Обновляем ipfw
/usr/local/sbin/sh_firewall
#Формируем новый конфиг squid. К сожалению, tcp_outgoing не умеет брать адрес из файла.
sed 's/#ip_megafon#/'$new_ip_address'/g' /usr/local/etc/squid/squid.conf.etalon > /usr/local/etc/squid/squid.conf
#Рестарт squid.
/usr/local/sbin/squid -k reconfigure
fi
fi
Уходит вызов скрипта в cron.
Спасибо за советы.