← Docs

Split-Horizon Views let the same zone answer differently depending on where the query comes from — the classic case is an internal LAN client resolving app.example.com to a private IP, while everyone else on the internet gets the public one. A "view" in PrimeDNS is a named set of client networks (CIDRs); a zone can have one variant per view, each with its own independent record set.

1. Create a view

In Zones, find the Split-Horizon Views section. Type a label (e.g. "Office LAN") in New view label and click Create view.

Split-Horizon Views section on the Zones page, with the view table and Create view form

2. Add networks to the view

For each view, use the inline + Add next to it and enter a client network in CIDR notation (e.g. 203.0.113.5/32 for a single IP, or a larger block for a whole office). Queries from these networks will be answered by this view's variant zone; everyone else gets the base zone.

A Split-Horizon view row with the inline network CIDR field

3. Attach the view to a zone

On the zone you want to split, click Attach view (disabled until at least one view exists) and pick the view. This creates a new variant zone, seeded with a copy of the base zone's current records — edit the variant independently from there.

Attach Split-Horizon view modal with view selector

4. Editing a variant & keeping it in sync

A variant is just another zone in the Records view — add, edit and delete records there normally. There's no per-record view switch; instead, the variant's Records page shows a Split-Horizon Sync panel with Check for changes and Apply selected, so you can pull specific updates from the base zone into the variant on demand, without overwriting records you've deliberately made different.

Split-Horizon Sync panel showing a diff against the base zone with Apply selected button

Moving a zone to a different view

On a variant zone, click Change view to move it to a different view. Its current records are copied to the new variant; the old one is removed.

Change Split-Horizon view modal for moving a zone variant to a different view

Typical use case: internal + external addresses

# Base zone (public internet) — app.example.com A 203.0.113.10
# "Office LAN" view variant — app.example.com A 10.0.20.50

# A client on the office network gets the private IP:
dig @ns1.primedns.net app.example.com A +short
# 10.0.20.50   (when queried from an IP in the view's CIDR list)
# 203.0.113.10 (when queried from anywhere else)
Note: the split only takes effect for queries that actually reach PrimeDNS's nameservers from the matching client network — if your office egresses through NAT with a public IP not in the view's CIDR list, add that public IP instead of the internal LAN range.