performance with 20000 classes; release a lease manually

stefan novak lms.brubaker at gmail.com
Wed Jun 10 20:48:48 UTC 2009


At the end of my post is a sample of my config as it is now.
I dont think that i can use subclasses, because i want to have fixed
ip adresses based on the cable modem mac.
Is there any scaleable option in isc dhcpd to do this with 20000
customers with one dhcpd server? If not is there a feature planning on
fix host ips with remote-id?

Another user if isc dhcpd has also the same problems:
https://lists.isc.org/pipermail/dhcp-users/2009-May/008905.html

And now he wants several dhcpd on a single machine, i thinks so for
each cable interface one. I also thought about something like that,
but seams to be not a clean solution:
http://mail.google.com/mail/?hl=de&tab=wm#label/isc-dhcpd/121aa090f424424a

Sample config from our cable provisioning: (just random macs and ips
for sale tests...)

root at dhcp-test:~/stefan# head -n 20 dhcpd.class.conf
class "customer 3" { match if option agent.remote-id = 01:EA:68:f5:4c:E5;}
class "customer 4" { match if option agent.remote-id = 01:73:6D:eF:5E:bD;}
class "customer 5" { match if option agent.remote-id = 01:c3:51:a2:f1:5c;}
class "customer 6" { match if option agent.remote-id = 01:db:71:6E:82:32;}
class "customer 7" { match if option agent.remote-id = 01:36:77:76:c2:3C;}
class "customer 8" { match if option agent.remote-id = 01:86:F5:96:e1:3f;}
class "customer 9" { match if option agent.remote-id = 01:d6:51:5E:A2:6d;}
class "customer 10" { match if option agent.remote-id = 01:6b:5E:34:05:B7;}
class "customer 11" { match if option agent.remote-id = 01:7A:E7:34:C3:93;}
class "customer 12" { match if option agent.remote-id = 01:97:ba:E0:89:91;}
class "customer 13" { match if option agent.remote-id = 01:e0:c2:57:C6:8a;}
class "customer 14" { match if option agent.remote-id = 01:40:41:48:99:63;}
class "customer 15" { match if option agent.remote-id = 01:9D:E7:2b:0b:7C;}
class "customer 16" { match if option agent.remote-id = 01:A4:05:14:d3:e1;}
class "customer 17" { match if option agent.remote-id = 01:41:4f:68:1D:8D;}
class "customer 18" { match if option agent.remote-id = 01:DF:f9:4C:44:0e;}
class "customer 19" { match if option agent.remote-id = 01:FE:fE:CE:DF:C1;}
class "customer 20" { match if option agent.remote-id = 01:82:B2:65:cf:4a;}
class "customer 21" { match if option agent.remote-id = 01:88:c0:2a:eb:AD;}
class "customer 22" { match if option agent.remote-id = 01:9b:bc:D3:c7:ce;}


root at dhcp-test:~/stefan# head -n 20 dhcpd.subnet.conf
shared-network network-91-62-1 {

  subnet 10.62.1.0 netmask 255.255.255.0 {
    option routers 10.62.1.1;
    option broadcast-address 10.62.1.255;
    option time-servers 172.55.55.55;
  }

  subnet 91.62.1.0 netmask 255.255.255.0 {
    option routers 91.62.1.1;
    option broadcast-address 91.62.1.255;
    range 91.62.1.2 91.62.1.254;
    pool { allow members of "customer 3"; range 91.62.1.2;}
    pool { allow members of "customer 4"; range 91.62.1.3;}
    pool { allow members of "customer 5"; range 91.62.1.4;}
    pool { allow members of "customer 6"; range 91.62.1.5;}
    pool { allow members of "customer 7"; range 91.62.1.6;}
    pool { allow members of "customer 8"; range 91.62.1.7;}
    pool { allow members of "customer 9"; range 91.62.1.8;}
    pool { allow members of "customer 10"; range 91.62.1.9;}


root at dhcp-test:~/stefan# head -n 20 dhcpd.modem.conf
host testmodem3 { hardware ethernet 01:EA:68:f5:4c:E5; fixed-address
10.62.1.2; filename "testmodem3.cfg";}
host mtamodem3 { hardware ethernet 01:C2:C5:1e:6f:A1; fixed-address
10.63.1.2; filename "macmodem3.cfg";}
host testmodem4 { hardware ethernet 01:73:6D:eF:5E:bD; fixed-address
10.62.1.3; filename "testmodem4.cfg";}
host mtamodem4 { hardware ethernet 01:0d:a2:3E:7a:52; fixed-address
10.63.1.3; filename "macmodem4.cfg";}
host testmodem5 { hardware ethernet 01:c3:51:a2:f1:5c; fixed-address
10.62.1.4; filename "testmodem5.cfg";}
host mtamodem5 { hardware ethernet 01:f5:8F:fb:63:48; fixed-address
10.63.1.4; filename "macmodem5.cfg";}
host testmodem6 { hardware ethernet 01:db:71:6E:82:32; fixed-address
10.62.1.5; filename "testmodem6.cfg";}
host mtamodem6 { hardware ethernet 01:e6:Ec:bb:46:3f; fixed-address
10.63.1.5; filename "macmodem6.cfg";}
host testmodem7 { hardware ethernet 01:36:77:76:c2:3C; fixed-address
10.62.1.6; filename "testmodem7.cfg";}
host mtamodem7 { hardware ethernet 01:64:88:01:d2:A6; fixed-address
10.63.1.6; filename "macmodem7.cfg";}
host testmodem8 { hardware ethernet 01:86:F5:96:e1:3f; fixed-address
10.62.1.7; filename "testmodem8.cfg";}
host mtamodem8 { hardware ethernet 01:c6:e2:0f:Fc:2D; fixed-address
10.63.1.7; filename "macmodem8.cfg";}
host testmodem9 { hardware ethernet 01:d6:51:5E:A2:6d; fixed-address
10.62.1.8; filename "testmodem9.cfg";}
host mtamodem9 { hardware ethernet 01:00:39:0D:Da:14; fixed-address
10.63.1.8; filename "macmodem9.cfg";}
host testmodem10 { hardware ethernet 01:6b:5E:34:05:B7; fixed-address
10.62.1.9; filename "testmodem10.cfg";}
host mtamodem10 { hardware ethernet 01:31:Af:B1:e8:27; fixed-address
10.63.1.9; filename "macmodem10.cfg";}
host testmodem11 { hardware ethernet 01:7A:E7:34:C3:93; fixed-address
10.62.1.10; filename "testmodem11.cfg";}
host mtamodem11 { hardware ethernet 01:e2:52:88:A7:f7; fixed-address
10.63.1.10; filename "macmodem11.cfg";}
host testmodem12 { hardware ethernet 01:97:ba:E0:89:91; fixed-address
10.62.1.11; filename "testmodem12.cfg";}
host mtamodem12 { hardware ethernet 01:3c:6F:1b:51:00; fixed-address
10.63.1.11; filename "macmodem12.cfg";}
root at dhcp-test:~/stefan#



More information about the dhcp-users mailing list