# systemd.rr

systemd

systemd.rr

5

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`

# Description

`*.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.

# Examples

<div class="example">

<div class="title">

Simple A Record

</div>

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 ]
    }

</div>

# See Also

`systemd(1)`, `systemd-resolved.service(8)`, `resolved.conf(5)`, `hosts(5)`, `resolvectl(1)`