--- dhclient-script 2003/10/04 02:17:53 1.1 +++ dhclient-script 2003/10/06 00:45:17 @@ -21,6 +21,8 @@ # address if it is not supplied. This might be much more easily done # by the dhclient C code, and passed on. +DEFAULTROUTE="171.64.73.171" + function make_resolv_conf() { if [ -n "$new_domain_name" ] || [ -n "$new_domain_name_servers" ]; then echo '; generated by /sbin/dhclient-script' > /etc/resolv.conf @@ -182,14 +184,19 @@ ifconfig $interface inet $new_ip_address $new_subnet_arg \ $new_broadcast_arg + # Remove the network route + ip route flush dev $interface + # Add a network route to the computed network address. if [ $relmajor -lt 2 ] || \ ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then route add -net $new_network_number $new_subnet_arg dev $interface fi for router in $new_routers; do - route add default gw $router + route add $router dev $interface + route add $DEFAULTROUTE gw $router done + /sbin/vtun-client fi if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ]; then @@ -217,6 +224,7 @@ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg route add -host $alias_ip_address $interface:0 fi + /sbin/vtun-client exit_with_hooks 0 fi @@ -238,7 +246,8 @@ route add -net $new_network_number fi for router in $new_routers; do - route add default gw $router + route add $router dev $interface:0 + route add $DEFAULTROUTE gw $router done if [ "${PEERDNS}" != "no" ]; then make_resolv_conf @@ -246,6 +255,7 @@ exit_with_hooks 0 fi ifconfig $interface inet 0 down + /sbin/vtun-client exit_with_hooks 1 fi