Billing subclass overrides configured allow/deny member subclasses

Peter Veerman pveerman at nemo.kabelfoon.net
Thu Jul 22 09:43:14 UTC 2010


Hi all,

I work at a rather small ISP and we are using the isc-dhcp server. We 
would like to have unknown, blocked or new customers in a special pool 
where they can visit a portal page to register, pay bills etc. When a 
customer registers (or is unblocked) he/she becomes known and we would 
like to provide them with an IP from another range. (Our network secures 
that the IP provisioned by DHCP only is able to pass the customer-port's 
firewall)

We have the following set-up:

class "knowncustomers"  {
    match option agent.remote-id;
    lease limit 1;
    }

subclass "knowncustomers" xx:xx:xx:xx:xx:xx

pool{
    # known customer pool
    allow members of "knowncustomers"
    ....
    }

pool{
    # Unknown customer pool
    deny members of "knowncustomers"
    ....
    }

We are then able to move a customer from the "Unknown customer" pool to 
the "Known customer" pool. This is done by adding a subclass that 
contains customer's mac-address (see the subclass declaration above) and 
restarting the dhcp server.

So far so good. :)

Then for some reason the customer does not like us anymore and cancels 
the subscription.

We then remove the customer from the subclass and restart the dhcp 
server. What happens then is that the customer keeps a IP address from 
the "Known customer" pool. Renews, Releases etc. do not change anything.

What seems to be the problem is that: Once a customer is placed into a 
class (by adding it in the configfile and restarting the dhcpserver)  
he/she is registered in the leases file using the option "billing 
subclass "knowncustomers" xx:xx:xx:xx:xx:xx". This option from the 
leases file overrides any other setting made in the configfile.

The scenarios and config combination above is just one of the many 
tested. We have also tried to use the known-client - unknown-client 
options, adding a new class and subclass for unknown (denied) customers 
etc. None of these helped us out. As every time the "billing subclass" 
option from the leases file overrides any other config option as it is 
applied always using any of the allow/deny statements as if it was in 
the config file.

The above behaviour is observed on both dhcpd-3.1.3 and 4.2.0.

Is there any way for us to make this - move a customer from the unknown 
customers - to the - known customers pool swap - possible?
Is there a way to override the " billing subclass"  option in the leases 
file by ways other than just manually deleting it?

Kind regards,

Peter Veerman




More information about the dhcp-users mailing list