Static and dynamic DHCP across shared networks

Matt Bernardi m.d.bernardi at zitomedia.net
Tue Oct 15 21:02:40 UTC 2013


If I'm following correctly it looks like this should fix your problem. CMs in there DHCP REQUEST will send their vendor class identifier as docsis, then the version. So a DOCSIS3.0 modem would be docsis30. So we use classes, see below. MTAs do the same but use pktc, then version. Once you have the below in dhcpd.conf just allow/deny classes per pool.  


# all docsis compliant cable modems begin their vendor class identifier
# with "docsis" this allows us to identify them as cable modems and 
# assign them to the right class
class "docsis" {
        match if substring (option vendor-class-identifier, 0, 6) = "docsis" and substring (option vendor-class-identifier, 0, 6) = "docsis";
}


# all packetcable MTAs identify themselves in the same way as 
# cable modems.  They begin their vendor class identifier with 
# "pktc"
class "pktc" {
        match if substring (option vendor-class-identifier, 0, 4) = "pktc";
}



# address pool for cable modems
	pool {
		allow members of "docsis";
		range 10.x.x.x 10.x.x.x;
              }

# address pool for MTAs
	pool {
		allow members of "pktc";
		range 10.y.y.y 10.y.y.y;
              }

# address pool for CPEs
# this includes anything that is not a cable modem or mta
           pool {
                deny members of "docsis";
                deny members of "pktc";
		range 10.z.z.z 10.z.z.z;
		}




On Oct 15, 2013, at 4:51 PM, "Turnpaugh , George" <George.Turnpaugh at arrisi.com> wrote:

>  
> We're trying to create a dhcpd.conf file for multiple sub-networks such that we can control IP address assignment for cable modems and CPE’s connected to these cable modems.
>  
> Each sub-network contains several host entries, each with a fixed IP address. (These are for the cable modems.)
> Each sub-network is configured as a /19 network.
>  
> All of the sub-networks are contained within a "shared-network" clause.
> The first sub-network is considered the default network.
>  
> An example of our dhcpd.conf file is shown below.
> We found that the "shared-network" statement is needed to get the specified fixed addresses to be handed out, otherwise only addresses from within the first sub-network are picked.
>  
>  
> shared-network MVRF1 {
>  
>    # Subnet 1
>    subnet 10.106.0.0 netmask 255.255.224.0 {
>       range 10.106.0.255 10.106.31.254;
>       option subnet-mask 255.255.224.0;
>       option broadcast-address 10.106.31.255;
>       option routers 10.106.0.1;
>    }
>  
>    # Subnet 2
>    subnet 10.106.32.0 netmask 255.255.224.0 {
>       range 10.106.32.255 10.106.63.254;
>       option subnet-mask 255.255.224.0;
>       option broadcast-address 10.106.63.255;
>       option routers 10.106.32.1;
>    }
>  
>    # Subnet 3
>    subnet 10.106.64.0 netmask 255.255.224.0 {
>       range 10.106.64.255 10.106.95.254;
>       option subnet-mask 255.255.224.0;
>       option broadcast-address 10.106.95.255;
>       option routers 10.106.64.1;
>    }
> }
>  
>  
> #Vrf_Default
> group {
>    host modem10 {
>       hardware ethernet 00:00:ca:3a:1b:63;
>       fixed-address 10.106.1.20;
>       filename "basic.bin";
>    }
>    host modem11 {
>       hardware ethernet 00:00:ca:3a:1b:60;
>       fixed-address 10.106.1.21;
>       filename "basic.bin";
>    }
> }
>  
> #Vrf_A
> group {
>    host modem20 {
>       hardware ethernet 00:00:ca:3a:1c:8c;
>       fixed-address 10.106.33.20;
>       filename "basic.bin";
>    }
>    host modem21 {
>       hardware ethernet 00:00:ca:3a:1c:ce;
>       fixed-address 10.106.33.21;
>       filename "basic.bin";
>    }
> }
>  
> #Vrf_B
> group {
>    host modem30 {
>       hardware ethernet 00:00:ca:3a:20:61;
>       fixed-address 10.106.65.20;
>       filename "basic.bin";
>    }
>    host modem31 {
>       hardware ethernet 00:00:ca:3a:14:8b;
>       fixed-address 10.106.65.21;
>       filename "basic.bin";
>    }
> }
>  
>  
> There are two problems we're trying to find a solution to:
>  
> 1. When a cable modem WITHOUT a fixed address registers, the DHCP server dynamically hands out the highest free address from the "highest address shared sub-network".
> In the above example, it's from sub-network 10.106.64.0, (for example 10.106.64.254).
> The address handed out is NOT from the first sub-network defined (10.106.0.0), which is our default sub-network.
>  
> -          Is there a way to specify which sub-network addresses are picked from for dynamic hosts within a shared network space.
>  
>  
> 2. When CPE's connected to a cable modem request DHCP, they also end up getting an address in the same way described above,
> they get the highest free address from the "highest address shared sub-network".
> This occurs even though the relay agent address (for example 10.106.32.1, as verified by Wireshark) is an address from within the sub-network upon which the modem is registered.
>  
> -          Is there a way to have the DHCP server dynamically hand out a free address from within the sub-network upon which the modem is registered.
>  
> Thanks in advance for anyone who may have knowledge in this area,
> G. Turnpaugh
>  
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users



More information about the dhcp-users mailing list