DHCP server will not send DHCP-Boot-Filename

Mark Price mprice at tqhosting.com
Wed Jul 7 16:11:19 CEST 2010


Tested with 2.1.9 and latest 2.1.x from git

Compile options:  --with-dhcp --prefix=/usr/local/freeradius
dictionary.dhcp enabled in dictionary
configuration below
client is gPXE Etherboot

My understanding is that the DHCP server should feed
DHCP-Boot-Filename in the ACK response to client and this is the way
I've done the configuration.  Note that this should show in the dhcp
header response sent to client.

DHCP-Boot-File-Name parameter does work, however it is an 'option'
later in the DHCP packet, and not the same thing as DHCP-Boot-Filename
in the header.

Also it seems that DHCP responses in header such as
DHCP-Your-IP-Address do not show up in radiusd debug output, even
though they are sent to client (confirmed with tcpdump).

Any suggestions or pointers would be appreciated.


config:

server dhcp {

listen {
        ipaddr = 209.170.148.3
        port = 67
        type = dhcp
}

dhcp DHCP-Discover {
        update reply {
               DHCP-Message-Type = DHCP-Offer
        }

        update reply {
                DHCP-Subnet-Mask = 255.255.255.252
                DHCP-Domain-Name-Server = 208.79.80.18
                DHCP-Gateway-IP-Address = 209.170.148.41
                DHCP-IP-Address-Lease-Time = 86400
                DHCP-Your-IP-Address = 209.170.148.42
        }

        ok
}

dhcp DHCP-Request {
        update reply {
               DHCP-Message-Type = DHCP-Ack
        }

        update reply {
                DHCP-Subnet-Mask = 255.255.255.252
                DHCP-Domain-Name-Server = 208.79.80.18
                DHCP-Gateway-IP-Address = 209.170.148.41
                DHCP-IP-Address-Lease-Time = 86400
                DHCP-Your-IP-Address = 209.170.148.42
                DHCP-Server-Host-Name = 209.170.148.3
                DHCP-Boot-Filename = pxeboot
        }

        ok
}

dhcp {
        # send a DHCP NAK.
        reject
}


}



debug output from radiusd -X -xx:

Received DHCP-Discover of id 001752fc from 209.170.148.41:67 to 209.170.148.3:67
01 01 06 01 00 17 52 fc 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 d1 aa 94 29 aa 00 00 17
52 fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
61 11 00 81 fd d6 45 00 bd 23 db 30 be e0 70 fa
a0 c7 d5 3d 07 01 aa 00 00 17 52 fc af 28 b1 05
01 10 ec 81 39 13 01 01 17 01 01 15 01 01 11 01
01 12 01 01 18 01 01 23 01 01 22 01 01 19 01 01
21 01 01 10 01 02 35 01 01 39 02 05 c0 5d 02 00
00 5e 03 01 02 01 3c 20 50 58 45 43 6c 69 65 6e
74 3a 41 72 63 68 3a 30 30 30 30 30 3a 55 4e 44
49 3a 30 30 32 30 30 31 37 0d 01 03 06 07 0c 0f
11 2b 3c 42 43 af cb ff
 DHCP-Opcode = Client-Message
 DHCP-Hardware-Type = Ethernet
 DHCP-Hardware-Address-Length = 6
 DHCP-Hop-Count = 1
 DHCP-Transaction-Id = 1528572
 DHCP-Number-of-Seconds = 0
 DHCP-Flags = 0
 DHCP-Client-IP-Address = 0.0.0.0
 DHCP-Your-IP-Address = 0.0.0.0
 DHCP-Server-IP-Address = 0.0.0.0
 DHCP-Gateway-IP-Address = 209.170.148.41
 DHCP-Client-Hardware-Address = aa:00:00:17:52:fc
 DHCP-UUID/GUID = 0x0081fdd64500bd23db30bee070faa0c7d5
 DHCP-Client-Identifier = aa:00:00:17:52:fc
 DHCP-Message-Type = DHCP-Discover
 DHCP-DHCP-Maximum-Msg-Size = 1472
 DHCP-Client-System = 0x0000
 DHCP-Client-NDI = 0x010201
 DHCP-Vendor-Class-Identifier = "PXEClient:Arch:00000:UNDI:002001"
 DHCP-Parameter-Request-List = DHCP-Subnet-Mask
 DHCP-Parameter-Request-List = DHCP-Router-Address
 DHCP-Parameter-Request-List = DHCP-Domain-Name-Server
 DHCP-Parameter-Request-List = DHCP-Log-Server
 DHCP-Parameter-Request-List = DHCP-Hostname
 DHCP-Parameter-Request-List = DHCP-Domain-Name
 DHCP-Parameter-Request-List = DHCP-Root-Path
 DHCP-Parameter-Request-List = DHCP-Vendor
 DHCP-Parameter-Request-List = DHCP-Class-Identifier
 DHCP-Parameter-Request-List = DHCP-TFTP-Server-Name
 DHCP-Parameter-Request-List = DHCP-Boot-File-Name
 DHCP-Parameter-Request-List = 175
 DHCP-Parameter-Request-List = 203
Wed Jul  7 14:00:26 2010 : Info: server dhcp {
Wed Jul  7 14:00:26 2010 : Debug: Trying sub-section dhcp DHCP-Discover {...}
Wed Jul  7 14:00:26 2010 : Info: +- entering group DHCP-Discover {...}
Wed Jul  7 14:00:26 2010 : Info: ++[reply] returns noop
Wed Jul  7 14:00:26 2010 : Info: ++[reply] returns noop
Wed Jul  7 14:00:26 2010 : Info: ++[ok] returns ok
Wed Jul  7 14:00:26 2010 : Info: } # server dhcp
Sending DHCP-Offer of id 001752fc from 209.170.148.3:67 to 209.170.148.41:67
 DHCP-Subnet-Mask = 255.255.255.252
 DHCP-Domain-Name-Server = 208.79.80.18
 DHCP-IP-Address-Lease-Time = 86400
0: 02 01 06 00 00 17 52 fc 00 00 00 00 00 00 00 00
16: d1 aa 94 2a 00 00 00 00 d1 aa 94 29 aa 00 00 17
32: 52 fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
48: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
96: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
144: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
176: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
192: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
208: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
224: 00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
240: 35 01 02 01 04 ff ff ff fc 06 04 d0 4f 50 12 33
256: 04 00 01 51 80 ff 00 00 00 00 00 00 00 00 00 00
272: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
288: 00 00 00 00 00 00 00 00 00 00 00 00
Wed Jul  7 14:00:26 2010 : Info: Finished request 0.
Wed Jul  7 14:00:26 2010 : Info: Cleaning up request 0 ID 1528572 with
timestamp +16
Wed Jul  7 14:00:26 2010 : Debug: Going to the next request
Wed Jul  7 14:00:26 2010 : Info: Ready to process requests.
Received DHCP-Request of id 001752fc from 209.170.148.41:67 to 209.170.148.3:67
01 01 06 01 00 17 52 fc 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 d1 aa 94 29 aa 00 00 17
52 fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
61 11 00 81 fd d6 45 00 bd 23 db 30 be e0 70 fa
a0 c7 d5 3d 07 01 aa 00 00 17 52 fc af 28 b1 05
01 10 ec 81 39 13 01 01 17 01 01 15 01 01 11 01
01 12 01 01 18 01 01 23 01 01 22 01 01 19 01 01
21 01 01 10 01 02 32 04 d1 aa 94 2a 35 01 03 39
02 05 c0 5d 02 00 00 5e 03 01 02 01 3c 20 50 58
45 43 6c 69 65 6e 74 3a 41 72 63 68 3a 30 30 30
30 30 3a 55 4e 44 49 3a 30 30 32 30 30 31 37 0d
01 03 06 07 0c 0f 11 2b 3c 42 43 af cb ff
 DHCP-Opcode = Client-Message
 DHCP-Hardware-Type = Ethernet
 DHCP-Hardware-Address-Length = 6
 DHCP-Hop-Count = 1
 DHCP-Transaction-Id = 1528572
 DHCP-Number-of-Seconds = 0
 DHCP-Flags = 0
 DHCP-Client-IP-Address = 0.0.0.0
 DHCP-Your-IP-Address = 0.0.0.0
 DHCP-Server-IP-Address = 0.0.0.0
 DHCP-Gateway-IP-Address = 209.170.148.41
 DHCP-Client-Hardware-Address = aa:00:00:17:52:fc
 DHCP-UUID/GUID = 0x0081fdd64500bd23db30bee070faa0c7d5
 DHCP-Client-Identifier = aa:00:00:17:52:fc
 DHCP-Requested-IP-Address = 209.170.148.42
 DHCP-Message-Type = DHCP-Request
 DHCP-DHCP-Maximum-Msg-Size = 1472
 DHCP-Client-System = 0x0000
 DHCP-Client-NDI = 0x010201
 DHCP-Vendor-Class-Identifier = "PXEClient:Arch:00000:UNDI:002001"
 DHCP-Parameter-Request-List = DHCP-Subnet-Mask
 DHCP-Parameter-Request-List = DHCP-Router-Address
 DHCP-Parameter-Request-List = DHCP-Domain-Name-Server
 DHCP-Parameter-Request-List = DHCP-Log-Server
 DHCP-Parameter-Request-List = DHCP-Hostname
 DHCP-Parameter-Request-List = DHCP-Domain-Name
 DHCP-Parameter-Request-List = DHCP-Root-Path
 DHCP-Parameter-Request-List = DHCP-Vendor
 DHCP-Parameter-Request-List = DHCP-Class-Identifier
 DHCP-Parameter-Request-List = DHCP-TFTP-Server-Name
 DHCP-Parameter-Request-List = DHCP-Boot-File-Name
 DHCP-Parameter-Request-List = 175
 DHCP-Parameter-Request-List = 203
Wed Jul  7 14:00:27 2010 : Info: server dhcp {
Wed Jul  7 14:00:27 2010 : Debug: Trying sub-section dhcp DHCP-Request {...}
Wed Jul  7 14:00:27 2010 : Info: +- entering group DHCP-Request {...}
Wed Jul  7 14:00:27 2010 : Info: ++[reply] returns noop
Wed Jul  7 14:00:27 2010 : Info: ++[reply] returns noop
Wed Jul  7 14:00:27 2010 : Info: ++[ok] returns ok
Wed Jul  7 14:00:27 2010 : Info: } # server dhcp
Sending DHCP-Ack of id 001752fc from 209.170.148.3:67 to 209.170.148.41:67
 DHCP-Subnet-Mask = 255.255.255.252
 DHCP-Domain-Name-Server = 208.79.80.18
 DHCP-IP-Address-Lease-Time = 86400
0: 02 01 06 00 00 17 52 fc 00 00 00 00 00 00 00 00
16: d1 aa 94 2a 00 00 00 00 d1 aa 94 29 aa 00 00 17
32: 52 fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
48: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
96: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
144: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
176: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
192: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
208: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
224: 00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
240: 35 01 05 01 04 ff ff ff fc 06 04 d0 4f 50 12 33
256: 04 00 01 51 80 ff 00 00 00 00 00 00 00 00 00 00
272: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
288: 00 00 00 00 00 00 00 00 00 00 00 00
Wed Jul  7 14:00:27 2010 : Info: Finished request 1.
Wed Jul  7 14:00:27 2010 : Info: Cleaning up request 1 ID 1528572 with
timestamp +17
Wed Jul  7 14:00:27 2010 : Debug: Going to the next request
Wed Jul  7 14:00:27 2010 : Info: Ready to process requests.


tcpdump -n -A -s 0 -vvv -i eth0:


14:00:26.362344 IP (tos 0x0, ttl 255, id 264, offset 0, flags [none],
proto UDP (17), length 404) 209.170.148.41.67 > 209.170.148.3.67: [udp
sum ok] BOOTP/DHCP, Request from aa:00:00:17:52:fc, length 376, hops
1, xid 0x1752fc, Flags [none] (0x0000)
          Gateway-IP 209.170.148.41
          Client-Ethernet-Address aa:00:00:17:52:fc
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            GUID Option 97, length 17:
0.129.253.214.69.0.189.35.219.48.190.224.112.250.160.199.213
            Client-ID Option 61, length 7: ether aa:00:00:17:52:fc
            T175 Option 175, length 40:
2969895184,3967891731,16848641,18153729,285278482,16848897,19071233,570491161,16851201,17826050
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1472
            ARCH Option 93, length 2: 0
            NDI Option 94, length 3: 1.2.1
            Vendor-Class Option 60, length 32:
"PXEClient:Arch:00000:UNDI:002001"
            Parameter-Request Option 55, length 13:
              Subnet-Mask, Default-Gateway, Domain-Name-Server, LOG
              Hostname, Domain-Name, RP, Vendor-Option
              Vendor-Class, TFTP, BF, Option 175
              Option 203
            END Option 255, length 0
E..............).....C.C..^.......R....................)....R...........................................................................................................................................................................................................c.Sca.....E..#.0..p....=......R..(......9..............+<BC...".....!.....5..9...]...^....<
PXEClient:Arch:00000:UNDI:0020017
14:00:26.363586 IP (tos 0x0, ttl 64, id 48230, offset 0, flags [none],
proto UDP (17), length 328) 209.170.148.3.67 > 209.170.148.41.67: [udp
sum ok] BOOTP/DHCP, Reply, length 300, xid 0x1752fc, Flags [none]
(0x0000)
          Your-IP 209.170.148.42
          Gateway-IP 209.170.148.41
          Client-Ethernet-Address aa:00:00:17:52:fc
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Subnet-Mask Option 1, length 4: 255.255.255.252
            Domain-Name-Server Option 6, length 4: 208.79.80.18
            Lease-Time Option 51, length 4: 86400
            END Option 255, length 0
            PAD Option 0, length 0, occurs 38
E..H.f.. at ..........).C.C.42.......R............*.......)....R...........................................................................................................................................................................................................c.Sc5...........OP.3...Q........................................
14:00:27.373492 IP (tos 0x0, ttl 255, id 266, offset 0, flags [none],
proto UDP (17), length 410) 209.170.148.41.67 > 209.170.148.3.67: [udp
sum ok] BOOTP/DHCP, Request from aa:00:00:17:52:fc, length 382, hops
1, xid 0x1752fc, Flags [none] (0x0000)
          Gateway-IP 209.170.148.41
          Client-Ethernet-Address aa:00:00:17:52:fc
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            GUID Option 97, length 17:
0.129.253.214.69.0.189.35.219.48.190.224.112.250.160.199.213
            Client-ID Option 61, length 7: ether aa:00:00:17:52:fc
            T175 Option 175, length 40:
2969895184,3967891731,16848641,18153729,285278482,16848897,19071233,570491161,16851201,17826050
            Requested-IP Option 50, length 4: 209.170.148.42
            DHCP-Message Option 53, length 1: Request
            MSZ Option 57, length 2: 1472
            ARCH Option 93, length 2: 0
            NDI Option 94, length 3: 1.2.1
            Vendor-Class Option 60, length 32:
"PXEClient:Arch:00000:UNDI:002001"
            Parameter-Request Option 55, length 13:
              Subnet-Mask, Default-Gateway, Domain-Name-Server, LOG
              Hostname, Domain-Name, RP, Vendor-Option
              Vendor-Class, TFTP, BF, Option 175
              Option 203
            END Option 255, length 0
E....
.........).....C.C...7......R....................)....R...........................................................................................................................................................................................................c.Sca.....E..#.0..p....=......R..(......9....................+<BC...!.....2....*5..9...]...^....<
PXEClient:Arch:00000:UNDI:0020017
14:00:27.374470 IP (tos 0x0, ttl 64, id 48231, offset 0, flags [none],
proto UDP (17), length 328) 209.170.148.3.67 > 209.170.148.41.67: [udp
sum ok] BOOTP/DHCP, Reply, length 300, xid 0x1752fc, Flags [none]
(0x0000)
          Your-IP 209.170.148.42
          Gateway-IP 209.170.148.41
          Client-Ethernet-Address aa:00:00:17:52:fc
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: ACK
            Subnet-Mask Option 1, length 4: 255.255.255.252
            Domain-Name-Server Option 6, length 4: 208.79.80.18
            Lease-Time Option 51, length 4: 86400
            END Option 255, length 0
            PAD Option 0, length 0, occurs 38
E..H.g.. at ..........).C.C.4/.......R............*.......)....R...........................................................................................................................................................................................................c.Sc5...........OP.3...Q........................................




-- 
Mark Price




More information about the Freeradius-Users mailing list