Hi,
i wish to share a simple patch to bypass the problem showed
in my previous mail.
the patch fix 2 problems:
1- with the original "/sbin/dhclient-script" you
don't get the
default gateway if it is
on a different subnet then your IP.
2- when you put down the interface with "ifconfig rl0
down" and then you
rerun "dhclient rl0" , you don't get the IP
configured and with a
little of debug i
found the the dhclient-script execute:
ifconfig rl0 inet 84.223.120.116 netmask 255.255.255.255
broadcast
84.223.120.116
ifconfig: SIOCAIFADDR: File exists
the problem is that you have a route that conflict with the
command:
84.223.120.116/32 link#3 UC 0 0
- rl0
the route is added the first time and didn't get deleted on
a FAIL event
(the env is not set by dhclient, i don't know why).
the second time you run "dhclient rl0" the old_IP
and the new_IP is
the same and so
the delete_old_routes is not executed.
i corrected the problem commenting out the line:
route add $new_ip_address 127.0.0.1 >/dev/null
2>&1
since when you normally configure a static IP address you
don't
configure such route
(please if you know a reason to leave this route let me
know).
here the patch to /sbin/dhclient-script:
# diff -u /sbin/dhclient-script dhclient-script.patched
--- /sbin/dhclient-script Sun Mar 11 02:39:21 2007
+++ dhclient-script.patched Mon May 28 22:48:25 2007
 -37,7
+37,7 
$medium
# XXX Original TIMEOUT code did not do this unless
$new_routers was set?
- route add $new_ip_address 127.0.0.1 >/dev/null
2>&1
+ #route add $new_ip_address 127.0.0.1 >/dev/null
2>&1
}
delete_old_alias() {
 -76,6
+76,9 
for router in $new_routers; do
if [ "$new_ip_address" =
"$router" ]; then
route add default -iface $router
>/dev/null 2>&1
+ elif [ "$new_subnet_mask" =
"255.255.255.255" ]; then
+ route add -host $router -interface
-link
$interface -expire 1 >> /tmp/dhcp.log
+ route add default $router >>
/tmp/dhcp.log
else
route add default $router
>/dev/null 2>&1
fi
EOF
regards
Luigi
On 5/22/07, Luigi Tarenga <luigi.tarenga gmail.com> wrote:
> hi all,
> i have an Adsl internet connection with the tiscali
provider
> and i just solved my problem of getting the IP address
on my openbsd machine.
> i wish to share my experience here, feel free to
correct my english :P
[...snip...]
> you can try without the 2 "route add"
command if it works, i had to use them
> because the gateway is on a different subnet of my
public IP and the dhclient
> command doesn't configure it automatically (anyone know
another
> solution to this?).
|