Hi,

we were trying to setup a filter-machine behind a dsl-router (dsl-router
does dhcp only no static mapping) doing dhclient on its external
interface and at the same time have different networks routed over that
interface. When you have static addresses configured on the ext.
interface every time you call dhclient and you receive a new lease one
static address (the first one) gets rotated out of the list of addresse
due to dhclient-script calling ifconfig without "alias". Well dhclient
takes care of old leases in terms of deleting those addresses from the
interface-list before setting a new address. For us the following change
fixed the issue:

[EMAIL PROTECTED]:dhclient$ ient/dhclient-script /sbin/dhclient-script
--- /usr/src/sbin/dhclient/dhclient-script      Wed Jul 26 22:28:50 2006
+++ /sbin/dhclient-script       Fri Aug 25 18:37:15 2006
@@ -34,7 +34,7 @@
                inet $new_ip_address \
                netmask $new_subnet_mask \
                broadcast $new_broadcast_address \
-               $medium
+               alias $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

With this dhclient only cares about addresses it set itself. Not
deleting static ips which we need on the interface. Is this sth. worth
fixing or should there be an option in dhclient preventing it to delete
static addresses and thus not breaking actual (not very consistent)
behaviour?


        Mischa

Reply via email to