Send dhcp-users mailing list submissions to dhcp-users@lists.isc.org
To subscribe or unsubscribe via the World Wide Web, visit https://lists.isc.org/mailman/listinfo/dhcp-users or, via email, send a message with subject or body 'help' to dhcp-users-requ...@lists.isc.org You can reach the person managing the list at dhcp-users-ow...@lists.isc.org When replying, please edit your Subject line so it is more specific than "Re: Contents of dhcp-users digest..." Today's Topics: 1. Re: To have various IP ranges in the same subnet and assign the IP Address depending of the device type that sends the request. (Juan Antonio Garc?a Moreno) 2. Re: To have various IP ranges in the same subnet and assign the IP Address depending of the device type that sends the request. (Bill Shirley) ---------------------------------------------------------------------- Message: 1 Date: Wed, 7 Aug 2019 14:42:42 +0200 From: Juan Antonio Garc?a Moreno <jagar...@emergya.com> To: Users of ISC DHCP <dhcp-users@lists.isc.org> Subject: Re: To have various IP ranges in the same subnet and assign the IP Address depending of the device type that sends the request. Message-ID: <cajbovpgqo_fmty-wqjqy+unzoog1ncb9fsuz1gn-w+tn_nr...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" Hi Simon, Too much thanks by your anotation about the Hosts Declarations. I will keep them in mind and I will change it. About the Hosts Classifications, I have tested this and works for me: ------------------------------------------------------------------------------ class "smartphones" { match if substring(option vendor-class-identifier,0,13) = "android-dhcp-" or substring(option vendor-class-identifier,0,7) = "HUAWEI:" or substring(option vendor-class-identifier,0,7) = "dhcpcd-"; } ------------------------------------------------------------------------------ That is the same that this: ------------------------------------------------------------------------------ class "smartphones" { match option vendor-class-identifier; } subclass "smartphones" "android-dhcp-9" subclass "smartphones" "android-dhcp-8.1.0" subclass "smartphones" "android-dhcp-7.0" subclass "smartphones" "HUAWEI:android:FIG-L11" subclass "smartphones" "HUAWEI:android:QC_Reference_Phone" subclass "smartphones" "dhcpcd-5.5.6" ------------------------------------------------------------------------------ And I can change it to: ------------------------------------------------------------------------------ class "smartphones" { match option vendor-class-identifier; } include smartphones.cfg * smartphones.cfg file containing the subclass lines. ------------------------------------------------------------------------------ But, is there any way to minimize the number of lines to include in the smartphones.cfg file using some kind of wildcard or expression/function like "substring()" used in the Class Declaration? Another question: The iPhones and the iPads not send the "vendor-class-identifier" option in the DHCP Discover Packet. Could I classify iPhones and iPads taking into account some other parameter of the DHCP Discover Packet? Best regards El lun., 5 ago. 2019 a las 19:35, Simon Hobson (<dh...@thehobsons.co.uk>) escribi?: > Juan Antonio Garc?a Moreno <jagar...@emergya.com> wrote: > > > I relly have some hosts declarations, but I don't have put these in the > post. > > Ah yes, about that ... see below ! > > > subnet 10.53.0.0 netmask 255.255.0.0 { > > > > default-lease-time 86400; > > max-lease-time 172800; > > > > option broadcast-address 10.53.255.255; > > option routers 10.53.1.1; > > > > # Unknown Clients Range. > > pool { > > deny members of "smartphones"; > > range 10.53.33.1 10.53.35.254; > > } > > > > # Smartphones Range. > > pool { > > allow members of "smartphones"; > > range 10.53.10.2 10.53.11.254; > > } > > > > host PC-01 { > > hardware ethernet ff:ff:ff:ff:ff:01; > > fixed-address 10.53.100.5; > > } > > > > host PC-02 { > > hardware ethernet ff:ff:ff:ff:ff:02; > > fixed-address 10.53.100.6; > > } > > > > } > > That is another common mistake. Host declarations are always global in > scope even though you might think that putting them inside a subnet > declaration would tie them to that subnet. So even though declared inside > one subnet, they will be "known" in any subnet - which in itself can cause > considerable confusion. > But what really makes life "interesting" (see > https://en.wikipedia.org/wiki/May_you_live_in_interesting_times) is that > should a host be connected to a different network, it will inherit option > values from the subnet where it is defined. Thus you find yourself with a > client that's been given an address by DHCP, but the gateway address it's > been given is in a completely different subnet ! > > > > And too, howto fill a text file with the "vendor-class-identifier" of > the smartphones and include in the DHCP Server config to match the > smartphones devices too. > > It's a simple scripting exercise to take a text file containing one string > per line, and build a config file snippet. You can then use an include > statement to incorporate that config snippet into the daemon config. > > _______________________________________________ > dhcp-users mailing list > dhcp-users@lists.isc.org > https://lists.isc.org/mailman/listinfo/dhcp-users > -- [image: EMERGYA] <http://www.emergya.com/> *Juan Garc?a* *Dto. de Soporte Interno* *EMERGYA INGENIER?A* *m:* +34 954 517 577 *p:* +34 954 517 577 *e:* jagar...@emergya.com [image: linkedin icon] <https://www.linkedin.com/company/emergya> [image: facebook icon] <https://www.facebook.com/Emergya> [image: twitter icon] <https://twitter.com/emergya> [image: youtube icon] <https://www.youtube.com/channel/UCU0ISPwk1pcOWwjpX63gN_A> -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20190807/4cd7b43e/attachment-0001.html> ------------------------------ Message: 2 Date: Thu, 8 Aug 2019 01:50:01 -0400 From: Bill Shirley <b...@c3po.polymerindustries.biz> To: dhcp-users@lists.isc.org Subject: Re: To have various IP ranges in the same subnet and assign the IP Address depending of the device type that sends the request. Message-ID: <ab28a5d4-7dae-3a46-1e80-ae573d720...@c3po.polymerindustries.biz> Content-Type: text/plain; charset="utf-8"; Format="flowed" Here's a couple of classes you might find useful: class "mobile_device" { ??? match if ( ??? ??? option vendor-class-identifier ~~ "android" ??? ??? or option host-name ~~ "android" ??? ??? or option host-name ~~ "iphone" ??? ??? or option host-name ~~ "samsung-" ??? ??? or option host-name ~~ "galaxy" ??? ??? or option host-name ~~ "ipod" ??? ??? or option host-name ~~ "ipad" ??? ??? or option host-name ~~ "watch" ??? ??? or option host-name ~~ "nintendo 3ds" ??? ); } class "Microsoft" { ??? match if substring(option vendor-class-identifier, 0, 4) = "MSFT"; ??? set member_of = "Microsoft"; } The first class uses the regexp operator ~~ (case insensitive).? There is also the case sensitive operator ~=. On the subject of implicit deny for a pool with only "allow members": I classify most of my devices (i.e. Panasonic, Ricoh, Canon, Linux, Microsoft) to assign them to a specific pool (i.e Printers, Linux, Microsoft, mobile_device).? Then I have an "uncategorized" pool for those devices that aren't in a currently defined class so that they will get an address.? If later I change a class to include a device (say Epson), that device will request its previous address on renew and *will get it* if my "uncategorized" pool doesn't have a 'deny members of "Epson"' configuration line. TL;DR - If a device requests a renewal of an address and there is no "deny members" for the pool, it will be granted. dhcp-server-4.3.6-10.fc27.x86_64 Bill On 8/7/2019 8:42 AM, Juan Antonio Garc?a Moreno wrote: > Hi Simon, > > Too much thanks by your anotation about the Hosts Declarations. I will keep > them in mind and I will change it. > > About the Hosts Classifications, I have tested this and works for me: > > ------------------------------------------------------------------------------ > class "smartphones" { > ? match if substring(option vendor-class-identifier,0,13) = "android-dhcp-" or > ? ? ? ? ? ?substring(option vendor-class-identifier,0,7) = "HUAWEI:" or > ? ? ? ? ? ?substring(option vendor-class-identifier,0,7) = "dhcpcd-"; > } > ------------------------------------------------------------------------------ > > That is the same that this: > > ------------------------------------------------------------------------------ > class "smartphones" { > ? match option vendor-class-identifier; > } > > subclass "smartphones" "android-dhcp-9" > subclass "smartphones" "android-dhcp-8.1.0" > subclass "smartphones" "android-dhcp-7.0" > subclass "smartphones" "HUAWEI:android:FIG-L11" > subclass "smartphones" "HUAWEI:android:QC_Reference_Phone" > subclass "smartphones" "dhcpcd-5.5.6" > ------------------------------------------------------------------------------ > > And I can change it to: > > ------------------------------------------------------------------------------ > class "smartphones" { > ? match option vendor-class-identifier; > } > > include smartphones.cfg > > * smartphones.cfg file containing the subclass lines. > ------------------------------------------------------------------------------ > > But, is there any way to minimize the number of lines to include in the > smartphones.cfg file using some kind of wildcard or > expression/function like "substring()" used in the Class Declaration? > > Another question: > > The iPhones and the iPads not send the "vendor-class-identifier" option in > the DHCP Discover Packet. > > Could I classify iPhones and iPads taking into account some other parameter > of the DHCP Discover Packet? > > > Best regards > > > > El lun., 5 ago. 2019 a las 19:35, Simon Hobson (<dh...@thehobsons.co.uk > <mailto:dh...@thehobsons.co.uk>>) escribi?: > > Juan Antonio Garc?a Moreno <jagar...@emergya.com > <mailto:jagar...@emergya.com>> wrote: > > > I relly have some hosts declarations, but I don't have put these in the > post. > > Ah yes, about that ... see below ! > > > subnet 10.53.0.0 netmask 255.255.0.0 { > > > >? ?default-lease-time 86400; > >? ?max-lease-time 172800; > > > >? ?option broadcast-address 10.53.255.255; > >? ?option routers 10.53.1.1; > > > >? ?# Unknown Clients Range. > >? ?pool { > >? ? ?deny members of "smartphones"; > >? ? ?range 10.53.33.1 10.53.35.254; > >? ?} > > > >? ?# Smartphones Range. > >? ?pool { > >? ? ?allow members of "smartphones"; > >? ? ?range 10.53.10.2 10.53.11.254; > >? ?} > > > >? ?host PC-01 { > >? ? ?hardware ethernet ff:ff:ff:ff:ff:01; > >? ? ?fixed-address 10.53.100.5; > >? ?} > > > >? ?host PC-02 { > >? ? ?hardware ethernet ff:ff:ff:ff:ff:02; > >? ? ?fixed-address 10.53.100.6; > >? ?} > > > > } > > That is another common mistake. Host declarations are always global in > scope even though you might think that putting them > inside a subnet declaration would tie them to that subnet. So even though > declared inside one subnet, they will be "known" > in any subnet - which in itself can cause considerable confusion. > But what really makes life "interesting" (see > https://en.wikipedia.org/wiki/May_you_live_in_interesting_times) is that > should a host be connected to a different network, it will inherit option > values from the subnet where it is defined. Thus > you find yourself with a client that's been given an address by DHCP, but > the gateway address it's been given is in a > completely different subnet ! > > > > And too, howto fill a text file with the "vendor-class-identifier" of > the smartphones and include in the DHCP Server > config to match the smartphones devices too. > > It's a simple scripting exercise to take a text file containing one > string per line, and build a config file snippet. You > can then use an include statement to incorporate that config snippet into > the daemon config. > > _______________________________________________ > dhcp-users mailing list > dhcp-users@lists.isc.org <mailto:dhcp-users@lists.isc.org> > https://lists.isc.org/mailman/listinfo/dhcp-users > > > > -- > EMERGYA <http://www.emergya.com/> > *Juan Garc?a* > *Dto. de Soporte Interno* > *EMERGYA INGENIER?A* > *m:*?+34 954 517 577 > *p:*?+34 954 517 577 > *e:*jagar...@emergya.com <mailto:jagar...@emergya.com> > linkedin icon <https://www.linkedin.com/company/emergya> facebook icon > <https://www.facebook.com/Emergya> twitter icon > <https://twitter.com/emergya>youtube icon > <https://www.youtube.com/channel/UCU0ISPwk1pcOWwjpX63gN_A> > > > _______________________________________________ > dhcp-users mailing list > dhcp-users@lists.isc.org > https://lists.isc.org/mailman/listinfo/dhcp-users -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20190808/1d242c1e/attachment.html> ------------------------------ Subject: Digest Footer _______________________________________________ dhcp-users mailing list dhcp-users@lists.isc.org https://lists.isc.org/mailman/listinfo/dhcp-users ------------------------------ End of dhcp-users Digest, Vol 130, Issue 7 ******************************************