include in pool

Peter Davies peter.watson.davies at outlook.com
Tue Nov 9 14:36:12 UTC 2021


Hi Cèdric,
   Have you tried having each shared-network/subnet in its own include file.
Then include a file with "members of" statements within that?
ie:
dhcpd.conf:
         class "allocation-class-1" {
         match pick-first-value (option dhcp-client-identifier, hardware);
       }

       class "allocation-class-2" {
         match pick-first-value (option dhcp-client-identifier, hardware);
       }

        allow members of "allocation-class-1";
        allow members of "allocation-class-1";

       class "allocation-class-1" {
         match pick-first-value (option dhcp-client-identifier, hardware);
       }

       class "allocation-class-2" {
         match pick-first-value (option dhcp-client-identifier, hardware);
       }
       subclass "allocation-class-1" 1:8:0:2b:4c:39:ad;
       subclass "allocation-class-2" 1:8:0:2b:a9:cc:e3;
       subclass "allocation-class-1" 1:0:0:c4:aa:29:44;

      include "subnet-1.include";
...

subnet-1.include:
shared-network "SN1" {
  subnet 10.0.0.0 netmask 255.255.255.0 {
    option routers 10.0.0.1;
    pool {
           #include "access-1.include";
           range 10.0.0.10 10.0.0.254; } }
}

access-2.include:
allow members of "allocation-class-1";
allow members of "allocation-class-2";

This appears to work

Kind Regards Peter


________________________________
From: dhcp-users <dhcp-users-bounces at lists.isc.org> on behalf of BASSAGET Cédric <cedric.bassaget.ml at gmail.com>
Sent: 09 November 2021 09:21
To: dhcp-users at lists.isc.org <dhcp-users at lists.isc.org>
Subject: include in pool

Hello.
I have to configure a dhcp server wich will act as master for dozens of relays.
My basic pool config includes a lot of "allow members of" statements, like this :


subnet 192.168.2.0 netmask 255.255.255.0 {
    option routers 192.168.2.1;
    #option domain-name-servers 192.168.2.1;
    #option bootfile-name = "snom821.htm";
    pool {
        range 192.168.2.100 192.168.2.200;
        ### Assign who is going to use this pool
        allow members of "voip-mac-address-prefix";
        # allow localhost for NRPE
        # allow members of "localhost";
        # Aastra
        allow members of "Aastra6730i";
        allow members of "Aastra6731i";
        allow members of "Aastra6739i";
        allow members of "Aastra6751i";
        allow members of "Aastra6753i";
        allow members of "Aastra6755i";
        allow members of "Aastra6757i";
        # Snom
        allow members of "Snom300";
        allow members of "Snom320";
        allow members of "Snom360";
        allow members of "Snom370";
        allow members of "Snom820";
       ....
     }
}

As I have to create dozens of pools, I tried to put all these "allow members of ..." in a file called "allowed_members.include", and replace my pool def by :

subnet 192.168.2.0 netmask 255.255.255.0 {
    option routers 192.168.2.1;
    pool {
        include "path/to/allowed_members.include";
    }
}


but it does not work, it throws a config error when testing config.

So my questions are :
- is there a way to do an "include" inside a pool ?
- is there another way to declare multiple pools for each relay ? (all relays will have the same config)

The aim of this is to have a small and comprehensible dhcpd.conf file.


Regards,
Cédric

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20211109/2acc34b4/attachment.htm>


More information about the dhcp-users mailing list