diff options
Diffstat (limited to 'sbin')
-rwxr-xr-x | sbin/dhclient-script | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/sbin/dhclient-script b/sbin/dhclient-script index 2ec748c..6910024 100755 --- a/sbin/dhclient-script +++ b/sbin/dhclient-script @@ -63,6 +63,10 @@ delete_old_address() { } add_new_address() { + + # Kill off old pftpx process. + kill `ps awux | grep "pftpx -b" | grep -v grep | grep $old_ip_address | cut -d" " -f5` + $IFCONFIG $interface \ inet $new_ip_address \ netmask $new_subnet_mask \ @@ -161,12 +165,24 @@ add_new_routes() { } add_new_resolv_conf() { - /bin/rm -f /var/etc/nameservers.conf - + if [ ! -f "/var/etc/nameserver_$interface" ]; then + # Make sure file exists to avoid errors + touch /var/etc/nameserver_$interface + fi if [ -n "$new_domain_name_servers" ]; then + # Remove old entries + for nameserver in `cat /var/etc/nameserver_$interface`; do + route delete $nameserver + done + rm -f /var/etc/nameserver_$interface for nameserver in $new_domain_name_servers; do echo $nameserver >>/var/etc/nameservers.conf + # Add a route to the nameserver out the correct interface + # so that mulitple wans work correctly with multiple dns + # also backup the nameserver for later route removal + echo $nameserver >>/var/etc/nameserver_$interface + route add $nameserver -if $interface done echo $new_domain_name >/var/etc/defaultdomain.conf fi |