Skip to content

How DNS works, and how to point a domain at your virtual machine

DNS, the Domain Name System, turns a name such as example.com into the IP address of a server. This page explains the parts you meet when you put your own domain on a virtual machine (VM), and which records to create.

Doprax does not host DNS. You create the records where your domain’s DNS is managed: at the registrar you bought the domain from, or at a DNS provider such as Cloudflare.

  1. Your browser asks a resolver, usually one run by your internet provider or a public one such as 1.1.1.1 or 8.8.8.8.
  2. If the resolver does not know the answer, it asks its way down: a root server says who handles .com, the .com servers say which name servers handle example.com.
  3. Those authoritative name servers hold your records and give the answer.
  4. The resolver passes the answer on and remembers it for a while.

No single server knows every name. Each level only knows who is responsible for the next one. Your registrar tells the .com servers which name servers are responsible for your domain.

Record What it holds Example
A The IPv4 address of a name example.com → 203.0.113.10
AAAA The IPv6 address of a name example.com → 2001:db8::10
CNAME Another name to look up instead www.example.com → example.com
MX The mail server of a domain example.com → mail.example.com
TXT Free text, used for email rules (SPF, DKIM) and for proving that you own a domain v=spf1 ...
NS The name servers responsible for a domain Set at your registrar

A CNAME cannot be used for the domain itself (example.com), only for names under it such as www.example.com. For the domain itself, use an A record.

Every record has a TTL, “time to live”: the number of seconds a resolver may remember the answer before it asks again. 300 is 5 minutes, 3600 is one hour.

This is why a change is not seen everywhere at once. Resolvers that asked before your change keep the old answer until its TTL runs out. This waiting is what people call propagation. A new name that nobody has looked up yet usually works within minutes.

Before you move a name to another server, lower its TTL to 300 a day ahead. Then the change is seen everywhere within about 5 minutes.

  1. Open the VM in the dashboard and select the Access tab. Note the Public IPv4 address, and the Public IPv6 address if you want the name to work over IPv6 as well.

  2. At your DNS provider, create the records:

    Type Name Value
    A example.com (often written @) The VM’s Public IPv4 address
    AAAA example.com The VM’s Public IPv6 address (optional)
    CNAME www example.com
  3. Check the answer from your computer:

    Terminal window
    nslookup example.com

    On Linux and macOS, dig +short A example.com prints the address alone.

  4. On the VM’s Domains tab, select Add domain, type the name in Domain name and select Add domain. The domain is listed as Unverified.

  5. Select Verify. The check passes when the name’s A record gives the VM’s IPv4 address. If it fails right after you created the record, wait a few minutes and select Verify again.

The details of the Domains tab are on Add a domain to a VM.

Things to know:

  • The record points at an IP address. If you change the VM’s IP address, update the A record, and the AAAA record if the IPv6 address changed.
  • DNS only finds the server. A web server on the VM must answer for the name, and HTTPS needs a certificate for the name on the VM.
  • An App Space cannot have a custom domain today. Custom domains are for VMs.
  • It gives the old address. A resolver still remembers the old answer. Wait for the TTL, or ask another resolver: nslookup example.com 1.1.1.1.
  • It gives no address. Check the record’s name for a typing mistake, and check at your registrar that the domain uses the name servers where you created the record.
  • The address is right but the site does not open. DNS is working. Look at the VM: is the web server running, and does it listen on port 80 or 443?

Checked against the product on 12 October 2026.