PXE Clients unable to obtain IP address from DHCP server over a Relay

Author:

Denis Jedig MVP

COMMUNITY SOLUTIONS CONTENT DISCLAIMER

MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.

SYMPTOMS

PXE clients are unable to configure with an IP address and Remote Installation Services (RIS) will not work in certain DHCP/BOOTP relay configurations.

CAUSE

If the "giaddr" (Gateway IP Address) field in the DHCP REQUEST does not match to the source IP address of the DHCP REQUEST packet and the DHCP REQUEST packet originates from a PXE client, the Microsoft DHCP server implementation issues an invalid DHCP OFFER response.

RESOLUTION

A patch has been developed to address this problem, however, it is not yet publicly available. It is described in KB article 300034 and will be part of Windows Server 2003 Service Pack 1.
You can work around this problem by using Microsoft DHCP relays provided with the Routing and Remota Access Services (RRAS). The DHCP relays must not cascade in this case.

MORE INFORMATION

A DHCP request packet comes with various fields specifying flags, address information, client state and DHCP relays it passed. BOOTP/DHCP relay operation is defined in RFC 1542. One of these fields, referenced as "giaddr" (Gateway IP address) in RFC 1542, indicates which subnet the DHCP request originated from by carrying the IP address of the BOOTP/DHCP relay interface which initially caught the request.
 
In most configurations, the giaddr field will match the source IP address of the IP packet carrying the DHCP REQUEST, since this packet is created by the DHCP relay. However, some implementations of BOOTP/DHCP relays of third party router vendors are known to use the IP address configured for management in the "source IP address" of this packet, causing the two addresses not to match anymore. Furthermore, cascading BOOTP/DHCP relays (Relay1 forwarding requests to Relay2, which then is forwarding the request to a DHCP server) will result a mismatch in those fields.
 
If you look closer at such a datagram, it may look like this in your network analyzer with the highlighted fields differing.
 
Internet Protocol, Src Addr: 192.168.100.193 (192.168.100.193), Dst Addr: 192.168.100.10 (192.168.100.10)
User Datagram Protocol, Src Port: 68 (68), Dst Port: 67 (67)
Bootstrap Protocol
    Message type: Boot Request (1)
    Client IP address: 0.0.0.0 (0.0.0.0)
    Your (client) IP address: 0.0.0.0 (0.0.0.0)
    Next server IP address: 0.0.0.0 (0.0.0.0)
    Relay agent IP address (giaddr): 192.168.0.254 (192.168.0.254)
 
While this is perfectly in line with the requirements for the DHCP and BOOTP protocols, Microsoft DHCP server implementation fails to respond to those DHCP REQUESTS correctly when they originate from a PXE client and carry the "PXEClient" vendor extension field.
 
References:
 
- Clarifications and Extensions for the Bootstrap Protocol
- Dynamic Host Configuration Protocol
MSKB  Description of PXE Interaction Among PXE Client, DHCP, and RIS Server
MSKB  PXE Clients May Discard All DHCP Offers Across Router
गुण

आलेख ID: 555228 - पिछली समीक्षा: 14/02/2017 - संशोधन: 1

Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems

प्रतिक्रिया