# Add and edit DNS records

> Add, edit and delete DNS records in one editor — InfraNest pushes each change to your provider.

Source: https://infranest.io/docs/dns-records
Last updated: 2026-10-26

---

Manage your domain's DNS records from one editor in InfraNest — add, edit, or delete records, and InfraNest handles pushing each change to your provider so the two never disagree.

## Overview

- Add, edit and delete DNS records without leaving InfraNest.
- The editor shows only the fields that matter for each record type, such as priority for **MX** records or the proxied setting for Cloudflare.
- Before you save, InfraNest checks for common mistakes and warns you about anything risky.
- After saving, you can watch the change reach the internet and undo it if needed.

## Edit records

1. Open a zone from the **DNS** page.
2. Choose **Add record** at the top of the page, or select the pencil on a row to edit it. The editor shows the right fields for each type — for example priority for **MX**, the **Proxy** setting for Cloudflare, plus **TTL** and an optional comment. The TTL is also shown when you hover over a value.

<!-- screenshot: dns-records -->

<!-- docs-screenshots:start:dns-records -->

![Add and edit DNS records](/media/706d3620-7f2d-4d52-a9ed-8773e6cc4fb2)

<!-- docs-screenshots:end:dns-records -->

3. Select **Save**. The change is pushed to the provider. If the provider rejects it, InfraNest rolls the change back, so the two never disagree.

## What each record points at, and what uses it

The **Points at** column says what each value is, so you don't have to recognise an address:

- **Hetzner · web-01** — the address belongs to one of your servers. Select it to open the server.
- **Behind Cloudflare**, **Hosted on GitHub Pages**, **Mail handled by Google Workspace** — a service InfraNest recognises from the value.
- **Office · dynamic address** — the record follows a home or office connection whose address changes. The value has a small refresh icon so you can spot it at a glance.
- **Same as example.com** — a CNAME that points at the zone itself.
- **SPF for Google Workspace**, **DMARC, monitoring only**, **DKIM key for Google Workspace**, **Google Search Console** — what a TXT record is for.
- **Proves example.com for single sign-on**, **Your status page …** — records InfraNest asked you to add. They are never suggested as left over.
- **Atlassian**, **DKIM key for SendGrid**, **Mail settings for Microsoft 365**, **Status page on incident.io** — what a verification code, a mail key or a service record is for, for several hundred common services.
- **Domain Connect · GoDaddy** — a record your DNS host adds so apps can set up your domain for you.
- **Cloudflare nameservers**, **Start of authority at Cloudflare**, **Let's Encrypt may issue certificates** — nameserver, SOA and CAA records.
- **Receives no mail (null MX)** — an MX record of a dot, which tells senders this name takes no mail at all. That is deliberate, for example on a name you only send from.
- **This computer (localhost)**, **A private network address** — the internet cannot reach these addresses.
- **Hetzner · not connected** — the address is in a cloud provider's network that you haven't connected. Select it to connect the provider and see which server it is.
- **An address you released**, in red — none of your servers has this address any more. Point the record somewhere you hold, or delete it.
- **… no longer holds this name**, in red — the record points at a service that dropped the name, so anyone can claim it there. Point it somewhere else, or delete it.

A quieter line under it adds what is worth knowing: **Proxied by Cloudflare**, what an SPF record does with mail from anyone else, or **Looks left over** for a record the zone no longer seems to need. It also says when your mail records disagree: a DKIM key for a service your SPF record does not let send, or a service SPF allows that has no DKIM key here.

### Say what a record is for

When InfraNest doesn't recognise a record, nobody else will either, and the next person tidying the zone may delete it. If you know what it is for, select **Say what it's for** under the record and type a short note, such as *Verification for our CRM*. You can do this on any record nothing names, and on one marked **Looks left over** that you know is still needed.

- Your note is shown in **Points at**, with a note icon.
- A record with a note is never suggested as left over.
- Only people in your organization see it.
- To change or remove a note, select the pencil next to it. Notes are kept in the zone's **History**.
- The note belongs to the record's name and value. If you change the value, the note stays with the old value. If you remove the zone and import it again, the note comes back.

When all of a zone's mail servers belong to one provider, they are shown as one row, for example **Mail handled by Google Workspace · + 4 more MX records**. Select it to see each server in the order senders try them.

**Used by** lists what depends on the record — the monitors that check the name, the certificates that cover it, the status pages served from it and other records that point at it. Each one is a link.

The domain's registration is shown above the records: who it is registered with, when it renews, and **Open domain**. If the registration lapses, every record in the zone stops working, so it is kept in view.

## Before you change or delete a record

When you edit a record, the editor lists what depends on it — for example *Monitor Status checks this name. After the change it checks whatever the new value answers.* — and, once you type a new value, what that value is (*New value — Hosted on GitHub Pages*).

> [!TIP]
> Moving an address? If the record is cached for a long time (more than an hour), select **Lower TTL now**: the TTL drops to 5 minutes right away, and nothing else changes. Come back the next day and change the address — by then every cached copy has run out, so the switch takes minutes.

When you delete a record something depends on, the confirmation says what stops working, in one sentence, and the button reads **Delete anyway**.

## The name field

The **Name** field is the part in front of your domain, not the whole address.

- For the domain itself — `example.com`, with nothing in front — leave the field **empty**. The hint under the field says which domain that is.
- For anything under it, type only the part in front: `www` for `www.example.com`, `mail` for `mail.example.com`.

If you paste the whole address, InfraNest shortens it for you and tells you what it will save, so you never end up with `www.example.com.example.com`.

## Pointing a record at a server

For **A** and **AAAA** records, start typing and InfraNest offers the servers in your connected cloud accounts. Some providers hand out a whole IPv6 block for a server rather than one address — the suggestion then reads "first address in 2a01:…::/64", which is the address to use unless your server was set up with a different one from that block.

If you paste a range yourself (anything with a `/` in it), InfraNest tells you which single address to use instead. A DNS record can only point at one address.

## Checks before you save

InfraNest checks a few things that would otherwise go wrong quietly, and explains them beside the field:

- a **CNAME** sharing a name with any other record, which is not allowed and behaves differently at every provider;
- a second SPF record on one name — two of them cancel out, and mail providers stop checking altogether;
- an IP range, a port or a web address typed where a single IP address belongs.

You can save through a caution shown in yellow; the ones in red are records that could not work.

### A record that is already there

If the record you are adding is already in the zone, InfraNest says so instead of sending it to your provider and passing the provider's refusal back to you:

- **It is already here.** The zone already has a record of this type and name with exactly this value, so adding it again would change nothing. Use **Open the existing record** if you meant to edit it.
- **The name is taken.** A name can only carry one CNAME (the same goes for ALIAS and DNAME). **Edit that record instead** opens the existing record and keeps the target you just typed, so one save finishes the job.
- **Your provider has it, we do not.** InfraNest offers **Sync this zone** — that pulls the record in, and you can edit it here like any other.

This is only about records that genuinely clash. Several A records on one name is a normal way to spread traffic across servers, and several MX records is how mail is set up — neither is treated as a duplicate.

## After you save

A panel above the records says what the record now points to — "www.example.com now points to web-02" — and shows your change reaching the internet: one row for your provider's nameservers, then one for each big public resolver, each with **New address** or **Old address, for up to N more minutes**. If a monitor watches the name, its first check after the change shows there too, with whether the certificate is valid. **Undo change** is right there if the change was a mistake.

## TTL — how long a record is cached

The **TTL** column says how long resolvers may keep a copy of the record before asking again — "5 min", "1 hour" and so on. Hover over it to see the exact number of seconds.

**Auto** means the provider decides. Cloudflare uses Auto for every proxied record (and lets you pick it for others); it works out to about 5 minutes. A proxied record always shows **Auto**, and saving it keeps it that way.

## Keep a zone up to date

1. Use **Sync this zone** from the zone's actions menu to pull the latest records from the provider at any time (it also runs on its own, about once an hour).
2. Use **Copy from a connected account** to clone another zone's records into this one.
3. Use **Re-scan DNS** to import records by reading the zone's live DNS.

## Drift

> [!NOTE]
> If records are changed at the provider outside InfraNest, the next sync picks them up and the zone's Activity tab says so ("Records changed at the provider"). On plans with DNS drift alerts you are also told, so a surprise change never goes unnoticed. The alert goes to your alert destinations, so it needs at least one.

To pick a change up straight away, select **Sync**.

A change that you saved but the internet doesn't show yet is covered in **My DNS change isn't showing up yet**.

## Point a name at your home or office

For **A** and **AAAA** records the editor asks one question: **Points to**. Type an address, or pick one from the list:

1. Choose **Your servers** to use one of your servers' fixed addresses — the record stays exactly as you set it.
2. Choose **Home and office connections** to use a connection whose address changes, such as your home internet. The record follows it, shown as a chip like *Office · now 198.51.100.20 · follows every change*, and is rewritten whenever the address changes.
3. Or choose **New home or office connection**, name it (for example *Office*), and save. The next screen shows you how to connect your router, or a computer on that network, so its address reaches InfraNest.

When the record follows a connection, its TTL is set to 5 minutes, so a new address reaches your visitors within minutes. If the connection also has an IPv6 address you can tick **Also keep an AAAA record**, and on a zone that can proxy you're offered to hide your home address behind the proxy.

To stop following, select the **×** on the chip. The record keeps the address it has now, as a fixed value.

If you type an address the editor knows, it tells you:

- **A connection's current address** — it offers to follow that connection instead, because the address will change.
- **One of your servers** — it names the server.
- **An address one of your servers no longer has** — it won't save it, since your provider can give that address to someone else.

Linking a record to a connection needs permission to change monitoring. Without it you still see your connections, greyed out, with who to ask.
