To send DHCPINFORM: from dhclient

Divakar Y divakar.yadavalli at gmail.com
Wed Feb 12 12:56:24 UTC 2020


Hello,

I am using isc-dhcp stack version dhcp-4.3.5.
I am intending to use DHCPINFORM to get vendor-options from the DHCP
server that has offered me the ip.

My dhclient.conf is as below:
     #Option 50 (Address Request) - Previously used IP Address (if available)
        # automatically sent

        #Option 53 (Message Type) - Includes all applicable Client -->
Server Options
        # automatically sent

        #sending vendor class in option 60
        send vendor-class-identifier \""$VENDOR_ID"\";

        #option 61 sends the backplane id as client identifier, used
at server to provide specific attrs
        send dhcp-client-identifier \""$CLIENT_ID"\";

        #request the params from server
        #request subnet-mask, routers, broadcast-address,
vendor-encapsulated-options;
    request vendor-encapsulated-options;

    #dhcp inform
    send dhcp-message-type 8;

>From tcpdump, i am able to see that dhclient is sending:
  [root at in-nelnx-dt ~]# tcpdump -i enp16s0 -vvXn port 67
tcpdump: listening on enp16s0, link-type EN10MB (Ethernet), capture
size 65535 bytes
17:15:50.369748 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none],
proto UDP (17), length 328)
    0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP,
Request from 00:90:0b:76:00:cb, length 300, xid 0x94ab6216, Flags
[none] (0x0000)
          Client-Ethernet-Address 00:90:0b:76:00:cb
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Inform
            Lease-Time Option 51, length 4: 3600
            Requested-IP Option 50, length 4: 192.168.2.213
            Parameter-Request Option 55, length 1:
              Vendor-Option
            Vendor-Class Option 60, length 12: "MYDEPT%CARDTYPE"
            Client-ID Option 61, length 18: hardware-type 50,
31:32:39:36:25:4d:41:39:30:31:33:35:31:30:30:38:39
        0x0000:  4510 0148 0000 0000 8011 3996 0000 0000  E..H......9.....
        0x0010:  ffff ffff 0044 0043 0134 fcce 0101 0600  .....D.C.4......
        0x0020:  94ab 6216 0000 0000 0000 0000 0000 0000  ..b.............
        0x0030:  0000 0000 0000 0000 0090 0b76 00cb 0000  ...........v....
        0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
        0x0100:  0000 0000 0000 0000 6382 5363 3501 0833  ........c.Sc5..3
        0x0110:  0400 000e 1032 04c0 a802 d537 012b 3c0c  .....2.....7.+<.
        0x0120:  496e 6669 6e65 7261 254f 4c41 3d12 3231  MYDEPT%CARDTYPE=.21
        0x0130:  3239 3625 4d41 3930 3133 3531 3030 3839  296%<SERIALNUM>


On checking the dhcpserver logs:
lnx-dt log]# tail -f messages
Feb 11 17:24:49 in-nelnx-dt dhcpd: DHCPREQUEST for 192.168.2.225 from
00:90:0b:4c:c8:e8 via enp16s0
Feb 11 17:24:49 in-nelnx-dt dhcpd: DHCPACK on 192.168.2.225 to
00:90:0b:4c:c8:e8 via enp16s0
Feb 11 17:25:00 in-nelnx-dt systemd-logind: Removed session 2838.
Feb 11 17:25:12 in-nelnx-dt systemd-logind: Removed session 2839.
Feb 11 17:25:19 in-nelnx-dt dhcpd: DHCPREQUEST for 192.168.2.213 from
00:90:0b:76:00:cb via enp16s0
Feb 11 17:25:19 in-nelnx-dt dhcpd: DHCPACK on 192.168.2.213 to
00:90:0b:76:00:cb via enp16s0
Feb 11 17:25:27 in-nelnx-dt dhcpd: DHCPINFORM from 0.0.0.0 via
enp16s0: ignored (null source address).
Feb 11 17:25:31 in-nelnx-dt dhcpd: DHCPINFORM from 0.0.0.0 via
enp16s0: ignored (null source address).
Feb 11 17:25:43 in-nelnx-dt dhcpd: DHCPINFORM from 0.0.0.0 via
enp16s0: ignored (null source address).
Feb 11 17:25:56 in-nelnx-dt dhcpd: DHCPINFORM from 0.0.0.0 via
enp16s0: ignored (null source address).
Feb 11 17:26:06 in-nelnx-dt dhcpd: DHCPINFORM from 0.0.0.0 via
enp16s0: ignored (null source address).

I observe the ciaddr is coming as 0.0.0.0 , which as RFC2131/2132,
should be valid value that contains the already offered IP.
I dont have relay, so I cant fill, giaddr.
But how do ensure to fill the ciaddr, from the dhclient.conf.

Also the script file:
https://github.com/greearb/dhcp-ct/blob/master/dhclient-script

Can you please guide me how I can do that.

Thanks,
divakar


More information about the dhcp-users mailing list