Warda-DNSDocs Warda: from ward — to protect, guardian
v0.9.3

Local DNS records

Network → Local DNS → Records of the local DNS (GET|POST /api/v1/dns-records, DELETE /api/v1/dns-records/{id}, administrators) holds names given by hand: A, AAAA, CNAME and TXT, 2,000 at most. They are answered before anything else (the lists, the categories and the forward zones included), with a TTL of 5 minutes. *.lab.maison.lan covers every name under lab.maison.lan (not lab.maison.lan itself); a name of its own wins over a wildcard. A name with a CNAME has no other record; the CNAME is followed through the local records, the names of the network, then the resolver of its local zone when the target belongs to one (conditional forwarding), else the upstream servers (8 hops at most, a loop stops), and the answer holds the whole chain. A name asked with a type it has no record of gets an empty answer (NODATA). The records are in the backups.

The local domain#

Network → Local DNS, Local domain (GET|PUT /api/v1/local-domain {"domain": "…"}, the area network; WARDA_LOCAL_DOMAIN fixes it: 409 then). The devices get a name under it and warda.<domain> is Warda itself (see DHCP server); a change applies at once, the devices take it with their next address.

From 0.7.10 it is any well-formed domain name of two labels or more: maison.lan, home.arpa, lab.internal, tips-of-mine.local, a domain the administrator owns. Letters, digits and hyphens, no hyphen at an end of a label, 63 characters at most by label and 189 in all (room is left for the name of a device). Refused, with its problem (400, problems: one code, told by the page in the language of the user):

problems Refused
format not a domain name; one label alone (maison, com), except lan, home and internal, accepted alone as before; a last label made of digits
suffix a suffix shared by many owners alone (co.uk): a name is needed before it
warda a domain of Warda itself (warda-dns.com, .net, .fr, .eu and the names under them: the online service, the names of the boxes)

Two warnings, never refusals, shown under the field and given as warnings of GET /api/v1/local-domain:

  • mdns: the domain ends with .local. .local is also the domain of mDNS/Bonjour: Apple devices, Avahi (Linux) and some Windows services first look these names up on the network by multicast, so the names of this domain may answer slowly, or not at all, on those devices. Warda cannot change it: it is how these systems treat .local.
  • internet: the domain may exist on the Internet (its suffix is one of the Internet, and its last label is none of lan, home, internal, local, localdomain, corp, test, example, invalid, localhost, nor home.arpa). The devices of the network then no longer reach it there: Warda answers its names itself, with the names of the network only. The remedy for a name of that domain needed from the Internet (the site of the company, its mail): give it as a local DNS record with its public address; the local records are answered before anything else.

The names under the local domain never leave the network, whatever the domain: a name no device of the network has is answered "does not exist" (NXDOMAIN) by Warda itself, never asked to the upstream servers — which is what makes the second warning true for a domain that exists on the Internet. Every place that reads the domain follows it: the name warda.<domain> and wpad.<domain>, the domain given by the DHCP servers of Warda (IPv4 and DHCPv6), the names of the devices, the names by which the box may be asked (the interface, From HTTP to HTTPS), the backups and the configuration given to the secondary of a pair.