systemd.rr — Local static DNS resource record definitions
/etc/systemd/resolve/static.d/*.rr |
/run/systemd/resolve/static.d/*.rr |
/usr/local/lib/systemd/resolve/static.d/*.rr |
/usr/lib/systemd/resolve/static.d/*.rr |
*.rr files may be used to define resource record sets ("RRsets") that shall be
resolvable locally, similar in style to address records defined by /etc/hosts (see
hosts(5) for
details). These files are read by
systemd-resolved.service(8),
and are used to synthesize local responses to local queries matching the defined resource record set.
These drop-in files are in JSON format. Each file may either contain a single top-level DNS RR
object, or an array of one or more DNS RR objects. Each RR object has at least a "key"
subobject consisting of a "name" string field and a "type" integer
field (which contains the RR type in numeric form). Depending on the chosen type the RR object also has
the following fields:
For A/AAAA RRs, the RR object should have an "address" field set to
either an IP address formatted as string, or an array consisting of 4 or 16 8-bit unsigned integers for
the IP address.
For PTR/NS/CNAME/DNAME RRs, the RR object should have a "name" field
set to the name the record shall point to.
This JSON serialization of DNS RRs matches the one returned by resolvectl.
Currently no other RR types are supported.
Example 1. Simple A Record
To make local address lookups for "foobar.example.com" resolve to the
192.168.100.1 IPv4 address, create
/run/systemd/resolve/static.d/foobar_example_com.rr:
{
"key" : {
"type" : 1,
"name" : "foobar.example.com"
},
"address" : [ 192, 168, 100, 1 ]
}