[Advanced] PXE Boot Across Subnets

PXE Boot Across Subnets This article details a request to configure ggRock Machine Boot in a more advanced scenario with multiple network segments/VLANs/Subnets.

Problem

Clients exist on multiple subnets

In a more advanced network configuration, there may be clients on multiple subnets.

Solution

1) Run the following command to open a new file:
nano /opt/ggrock/app/App_Data/config.json
It should contain the following JSON:
{ "ServerConfiguration": {"BootDefaultGateway": "None"}}
Press CTRL+X to save the file. You'll be prompted after this is pressed to either say Yes or No. Type 'Y' for yes. Then press Enter to finish saving the file.
 
2) Run this command to create another new file:
 nano /etc/dnsmasq.d/vlan.conf 
Add this with relevant network information, taking into account the network address and network mask of each subnet you wish to permit PXE boot from.
dhcp-range=CLIENT_PC_NETWORK_ADDRESS1,proxy,CLIENT_PC_NETWORK_MASK1 
3) Restart the ggRock Server Application and the ggRock Web Server.
systemctl restart ggrock
systemctl restart nginx

Additional Information

In some cases, a custom dnsmasq configuration may be required.

NOTE:

If the above configuration does not function on your network topology, please reach out to us via web support chat, or at support@ggcircuit.com for further assistance.

Caution:
To ensure that PXE requests reach your PXE server from a different network segment, it is essential to set up IP helper addresses (or DHCP relay) on every intermediate Layer 3 device (such as routers or Layer 3 switches) along the pathway.

 

How IP Helper Addresses and PXE function across Network Segments:

Broadcast Request: When a client device in the target network segment initiates a PXE boot, it sends out a broadcast DHCP request (and potentially a broadcast PXE request). These broadcasts are typically confined to the local network segment.

IP Helper Forwarding: If an IP helper address for the PXE server is configured on the router or Layer 3 switch in the client's network segment, it will capture the broadcast requests and forward them as unicast packets to the designated PXE server.

Multi-Segment Path: If the PXE server is situated on a different network segment, the unicast packets must be relayed by the subsequent router or Layer 3 switch in the path. Each of these intermediate devices must also have the IP helper address configured to ensure the continuous forwarding of PXE requests.


Example Network Diagram:


Client Device ---[Switch]---[Router 1]---[Router 2]---[PXE Server]
                             ^            ^
                          IP Helper  |    IP Helper  |
                          Configured   Configured



In this example, you would need to configure the PXE server's IP helper address on both Router 1 and Router 2 for the PXE requests to reach the server successfully.