Skip to content

DHCP relay

Last updated View as MarkdownAgent setup

DHCP Relay provides a way for DHCP clients to communicate with DHCP servers that are not available on the same local subnet/broadcast domain. When you enable DHCP Relay, Cloudflare One Appliance (formerly Magic WAN Connector) forwards DHCP discover messages to a predefined DHCP server, and routes the responses back to the original device that sent the discover message.

	flowchart LR
	accTitle: DHCP Relay diagram
	accDescr: The graph shows Cloudflare One Appliance sending DHCP discover messages to a DHCP server offsite.
			a(Cloudflare One Appliance) <--> b(Cloudflare/Cloudflare WAN) <--> c(DHCP server)

			subgraph Site A
			d[LAN 1] <--> a
			e[LAN 2] <--> a
			end

			subgraph Site B
			c
			end
			classDef orange fill:#f48120,color: black
			class a,b,c orange

The graph shows Cloudflare One Appliance sending DHCP discover messages to a DHCP server offsite.

To configure DHCP relay:

  1. Go to the Connectors page.
Go to Connectors ↗
  1. Go to the Appliances tab > Profiles.
  1. Select your Cloudflare One Appliance > Edit.
  2. Select Network Configuration.
  3. In LAN configuration, select the LAN where you need to configure DHCP relay.
  4. Select Edit.
  5. Select This is a DHCP Relay.
  6. In Upstream DHCP server addresses, enter the IP address of your DHCP server.
  7. (Optional) If you need to add more DHCP server addresses, select Add upstream DHCP server address as many times as needed, and enter the new values.

Create a PUT request to update the LAN where you want to enable DHCP relay:

Example:

Required API token permissions

At least one of the following token permissions is required:
  • Magic WAN Write
  • Magic Transit Write
Update Site LANbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/sites/$SITE_ID/lans/$LAN_ID" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"lan": {
				"static_addressing": {
						"dhcp_relay": {
								"server_addresses": [
										"192.0.2.1"
								]
						}
				}
		}
	}'

Was this helpful?