Option 43 and missing options

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Option 43 and missing options

Ryan Gray
Hello,

I'm running DHCP Server 4.3.3. I have implemented option 43 to hand out the URI of a tr069 server in the network.

It works. However, when I am successfully giving a lease with option 43 added, I am not getting options 3, 6, and 28. The lines I'm adding to my subnet statement are:

shared-network Internet {

    subnet xx.xxx.xxx.0 netmask 255.255.255.0 {

        append dhcp-parameter-request-list 43;

        option vendor-encapsulated-options 01:xx:68:74:74:xx:3a:2f:2f:xx:69:6e:65:70:6f:xx:6e:74:2e:73:77:xx:79:7a:65:65:2e:63:6f:6d:3a:38:30:38:35;

        option routers xx.xxx.xxx.254;

        option broadcast-address xx.xxx.xxx.255;

        range xx.xxx.xxx.50 xx.xxx.xxx.254;

    ]


A dhcpdump of a lease offer with option 43 (notice it's just plain missing the routers, dns resolvers, and broadcast options.

TIME: 2018-09-06 14:17:07.608

    IP: 192.168.99.201 (52:54:0:a:38:bd) > xx.xxx.xxx.xx (60:9c:9f:c2:b7:d0)

    OP: 2 (BOOTPREPLY)

HTYPE: 1 (Ethernet)

  HLEN: 6

  HOPS: 1

   XID: c5a26e05

  SECS: 0

FLAGS: 0

CIADDR: 0.0.0.0

YIADDR: xx.xxx.xxx.xx

SIADDR: 192.168.99.201

GIADDR: xx.xxx.xxx.xx

CHADDR: d8:b6:b7:e2:c4:3a:00:00:00:00:00:00:00:00:00:00

SNAME: .

FNAME: .

OPTION:  53 (  1) DHCP message type         2 (DHCPOFFER)

OPTION:  54 (  4) Server identifier         192.168.99.201

OPTION:  51 (  4) IP address leasetime      84228 (23h23m48s)

OPTION:  43 ( 35) Vendor specific info      0121687474703a2f .!http:/

                                            xxx6696e65706f69 /some

                                            xxx42e737761797a address

                                            xxx52e636f6d3a38 path:8

                                            xxx835           085

OPTION:   1 (  4) Subnet mask               255.255.255.0

OPTION:  82 ( 36) Relay Agent Information   

                  Circuit-ID    00:04:00:04:11:30

                  Remote-ID     00:06:60:9c:9f:c2:b7:d0

                  Experimental Ethernet 49:43:58:37:34:35:30:2d:31:2f:35:2f:31:2f:34:38


If I remove the "append dhcp-parameter-request-list" and the "option vendor-encapsulated-options" lines, I get a complete lease and all is well...unless I need option 43 to be sent....which of course I do.


I've tried moving those two lines to be underneath the "range" line (reaching, I know), to no avail.


Has anyone experienced this before? 



Regards,

Ryan Gray




_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: Option 43 and missing options - Solved(ish)

Ryan Gray
Hello again,

While I still do not understand why the addition of option 43 causes the other options to *not* be sent, I did get the missing options to be sent to the client by adding more "append" lines to my config like this:

shared-network Internet {
    subnet 192.168.4.0 netmask 255.255.255.0 {
append dhcp-parameter-request-list 3;
append dhcp-parameter-request-list 6;
append dhcp-parameter-request-list 28;
append dhcp-parameter-request-list 43;
option vendor-encapsulated-options 01:xx:68:xx:xx:xx:3a:xx:2f:66:xx:6e:65:70:6f:xx:6e:74:2e:73:xx:61:79:7a:xx5:xx:2e:xx:6f:6d:xx:38:30:38:35;
        option routers 192.168.4.254;
        option broadcast-address 192.168.4.255;
        range 192.168.4.40 192.168.4.49;
    }
}






On Fri, Sep 7, 2018 at 1:45 PM Ryan Gray <[hidden email]> wrote:
Hello,

I'm running DHCP Server 4.3.3. I have implemented option 43 to hand out the URI of a tr069 server in the network.

It works. However, when I am successfully giving a lease with option 43 added, I am not getting options 3, 6, and 28. The lines I'm adding to my subnet statement are:

shared-network Internet {

    subnet xx.xxx.xxx.0 netmask 255.255.255.0 {

        append dhcp-parameter-request-list 43;

        option vendor-encapsulated-options 01:xx:68:74:74:xx:3a:2f:2f:xx:69:6e:65:70:6f:xx:6e:74:2e:73:77:xx:79:7a:65:65:2e:63:6f:6d:3a:38:30:38:35;

        option routers xx.xxx.xxx.254;

        option broadcast-address xx.xxx.xxx.255;

        range xx.xxx.xxx.50 xx.xxx.xxx.254;

    ]


A dhcpdump of a lease offer with option 43 (notice it's just plain missing the routers, dns resolvers, and broadcast options.

TIME: 2018-09-06 14:17:07.608

    IP: 192.168.99.201 (52:54:0:a:38:bd) > xx.xxx.xxx.xx (60:9c:9f:c2:b7:d0)

    OP: 2 (BOOTPREPLY)

HTYPE: 1 (Ethernet)

  HLEN: 6

  HOPS: 1

   XID: c5a26e05

  SECS: 0

FLAGS: 0

CIADDR: 0.0.0.0

YIADDR: xx.xxx.xxx.xx

SIADDR: 192.168.99.201

GIADDR: xx.xxx.xxx.xx

CHADDR: d8:b6:b7:e2:c4:3a:00:00:00:00:00:00:00:00:00:00

SNAME: .

FNAME: .

OPTION:  53 (  1) DHCP message type         2 (DHCPOFFER)

OPTION:  54 (  4) Server identifier         192.168.99.201

OPTION:  51 (  4) IP address leasetime      84228 (23h23m48s)

OPTION:  43 ( 35) Vendor specific info      0121687474703a2f .!http:/

                                            xxx6696e65706f69 /some

                                            xxx42e737761797a address

                                            xxx52e636f6d3a38 path:8

                                            xxx835           085

OPTION:   1 (  4) Subnet mask               255.255.255.0

OPTION:  82 ( 36) Relay Agent Information   

                  Circuit-ID    00:04:00:04:11:30

                  Remote-ID     00:06:60:9c:9f:c2:b7:d0

                  Experimental Ethernet 49:43:58:37:34:35:30:2d:31:2f:35:2f:31:2f:34:38


If I remove the "append dhcp-parameter-request-list" and the "option vendor-encapsulated-options" lines, I get a complete lease and all is well...unless I need option 43 to be sent....which of course I do.


I've tried moving those two lines to be underneath the "range" line (reaching, I know), to no avail.


Has anyone experienced this before? 



Regards,

Ryan Gray






_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: Option 43 and missing options

Peter Rathlev
In reply to this post by Ryan Gray
On Fri, 2018-09-07 at 13:45 -0500, Ryan Gray wrote:

> I'm running DHCP Server 4.3.3. I have implemented option 43 to hand
> out the URI of a tr069 server in the network.
>
> It works. However, when I am successfully giving a lease with option
> 43 added, I am not getting options 3, 6, and 28. The lines I'm adding
> to my subnet statement are:
>
> shared-network Internet {
>     subnet xx.xxx.xxx.0 netmask 255.255.255.0 {
>         append dhcp-parameter-request-list 43;
[...]

Are your sure "append" works like this on the server? I only know that
option from the client configuration. I cannot see it mentioned in the
man pages for dhcpd 4.3.6b1.

We use syntax like this:

   option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list, 43);

You shouldn't have to modify the "dhcp-parameter-request-list" though.
The client should request it normally by itself. But there are of
course clients that misbehave.

--
Peter

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: Option 43 and missing options

Ryan Gray
Hey Peter,

I am sure that this works on the server. That is not because I found it in the documentation, but just based on seeing it myself. I have confirmed that these hosts are asking for these options. In fact, in the DHCPDISCOVER, I see:

OPTION:  55 ( 14) Parameter Request List      1 (Subnet mask)
                                              3 (Routers)
                                              6 (DNS server)
                                             12 (Host name)
                                             15 (Domainname)
                                             28 (Broadcast address)
                                             51 (IP address leasetime)
                                             53 (DHCP message type)
                                             54 (Server identifier)
                                             66 (TFTP server name)
                                             42 (NTP servers)
                                              2 (Time offset)
                                            120 (SIP Servers DHCP Option)
                                            121 (Classless Static Route)


When the "append dhcp-parameter-request-list" and the "option vendor-encapsulated-options...." are included in the config block for that subnet, 3, 6, and 28 are just not sent.    That was, until I added the line "append dhcp-parameter-request-list 3", then one for 6 and another for 28. I suspect these aren't the only options missing, but the only ones I'm caring about today.

I agree this behavior seems odd. That said, I have proven, at least here, that these changes fix the issue. This seems like one of those murky things that's going to manifest again during an upgrade or other system change. :)



On Tue, Sep 11, 2018 at 2:57 AM Peter Rathlev <[hidden email]> wrote:
On Fri, 2018-09-07 at 13:45 -0500, Ryan Gray wrote:
> I'm running DHCP Server 4.3.3. I have implemented option 43 to hand
> out the URI of a tr069 server in the network.
>
> It works. However, when I am successfully giving a lease with option
> 43 added, I am not getting options 3, 6, and 28. The lines I'm adding
> to my subnet statement are:
>
> shared-network Internet {
>     subnet xx.xxx.xxx.0 netmask 255.255.255.0 {
>         append dhcp-parameter-request-list 43;
[...]

Are your sure "append" works like this on the server? I only know that
option from the client configuration. I cannot see it mentioned in the
man pages for dhcpd 4.3.6b1.

We use syntax like this:

   option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list, 43);

You shouldn't have to modify the "dhcp-parameter-request-list" though.
The client should request it normally by itself. But there are of
course clients that misbehave.

--
Peter

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: Option 43 and missing options

Peter Rathlev
On Wed, 2018-09-12 at 07:19 -0500, Ryan Gray wrote:
> I am sure that this works on the server. That is not because I found
> it in the documentation, but just based on seeing it myself.

Well something doesn't work, otherwise I assume you wouldn't have
posted the first email. :-)

My point was since I cannot find "append" anywhere in the man pages for
current versions of the server, then maybe that's just not a supported
thing and it could be wrecking havoc. A bug, yes, but only something
that appears when configuring non-supported things.

Searching the interwebs I found this:

  https://lists.isc.org/pipermail/dhcp-users/2009-October/010456.html

Almost exactly the same problem as yours: Using "append" to add option
15 makes options 1, 3 and 6 disappear. No answers to that one though.

Also see this:

  https://www.syslinux.org/archives/2003-January/001448.html

Maybe "append" was a dhcpd 3.x thing?

> When the "append dhcp-parameter-request-list" and the "option vendor-
> encapsulated-options...." are included in the config block for that
> subnet, 3, 6, and 28 are just not sent.    That was, until I added
> the line "append dhcp-parameter-request-list 3", then one for 6 and
> another for 28. I suspect these aren't the only options missing, but
> the only ones I'm caring about today.
>
> I agree this behavior seems odd. That said, I have proven, at least
> here, that these changes fix the issue. This seems like one of those
> murky things that's going to manifest again during an upgrade or
> other system change. :)

My guess is that using the documented "concat" function will actually
solve your problem of disappearing options. I'm guessing this since we
use it that way and are not missing any options.

--
Peter

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: Option 43 and missing options

Ryan Gray
Hi Peter,

So let me get this straight. You are suggesting I try doing it the right way?!?  ;)

Agreed. Using concat, if nothing else, seems to be the documented method for making this happen. Using concat also makes me want to drink.

Thanks for the links, too. I'm not sure how I missed those with all the goog'ing I was doing for this. When I duplicate the desired behavior with concat instead of with duct tape, I'll hit the list back with the config.

Thank you for your time.


Regards,
Ryan Gray



On Wed, Sep 12, 2018 at 8:02 AM Peter Rathlev <[hidden email]> wrote:
On Wed, 2018-09-12 at 07:19 -0500, Ryan Gray wrote:
> I am sure that this works on the server. That is not because I found
> it in the documentation, but just based on seeing it myself.

Well something doesn't work, otherwise I assume you wouldn't have
posted the first email. :-)

My point was since I cannot find "append" anywhere in the man pages for
current versions of the server, then maybe that's just not a supported
thing and it could be wrecking havoc. A bug, yes, but only something
that appears when configuring non-supported things.

Searching the interwebs I found this:

  https://lists.isc.org/pipermail/dhcp-users/2009-October/010456.html

Almost exactly the same problem as yours: Using "append" to add option
15 makes options 1, 3 and 6 disappear. No answers to that one though.

Also see this:

  https://www.syslinux.org/archives/2003-January/001448.html

Maybe "append" was a dhcpd 3.x thing?

> When the "append dhcp-parameter-request-list" and the "option vendor-
> encapsulated-options...." are included in the config block for that
> subnet, 3, 6, and 28 are just not sent.    That was, until I added
> the line "append dhcp-parameter-request-list 3", then one for 6 and
> another for 28. I suspect these aren't the only options missing, but
> the only ones I'm caring about today.
>
> I agree this behavior seems odd. That said, I have proven, at least
> here, that these changes fix the issue. This seems like one of those
> murky things that's going to manifest again during an upgrade or
> other system change. :)

My guess is that using the documented "concat" function will actually
solve your problem of disappearing options. I'm guessing this since we
use it that way and are not missing any options.

--
Peter

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users


_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users