Files
coredns/plugin/siit
Michée lengronne 3b9f85bb71 feat(siit): Initial version (#8188)
* feat(siit): Initial version

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* cleaner readme

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* linting and generating

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* improving README and removing a useless case

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* improvements

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* improvements

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* linting

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* New fixes

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* improvements

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

* improvements

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>

---------

Signed-off-by: Michée Lengronne <michee.lengronne@coppint.com>
2026-08-23 17:55:27 -07:00
..
2026-08-23 17:55:27 -07:00
2026-08-23 17:55:27 -07:00
2026-08-23 17:55:27 -07:00
2026-08-23 17:55:27 -07:00

siit

Name

siit - enables AAAA->A translation support for DNS records based on SIIT (IPv6->IPv4 translation).

Description

The siit plugin will when asked for a domain's A record, synthesizes it from a corresponding AAAA record if it belongs to a certain IP range.

It also supports arbitrary mapping IPv6->IPv4.

It is useful when published services are IPv6-only and emit their AAAA record accordingly but IPv4 clients reach them through a siit routing. This plugin generates the associated A records for these clients automatically.

Syntax

siit {
    ipv6_prefix IPV6PREFIX
    eam IPV4 IPV6
}
  • ipv6_prefix specifies any local IPv6 prefix to use, instead of the well known prefix (64:ff9b::/96)
  • eam translates the ipv6 to the corresponding ipv4, it can be set multiple times

Examples

. {
    siit {
        ipv6_prefix 64:1337::/96
    }
}

Metrics

If monitoring is enabled (via the prometheus plugin) then the following metrics are exported:

  • coredns_siit_requests_translated_total{server} - counter of DNS requests translated

The server label is explained in the prometheus plugin documentation.

Bugs

  • Prefix matching in eam is not implemented yet.
  • DNSSEC support is not implemented yet. The problem is the same as DNS64. See: RFC 6147 Section 3

See Also

See RFC 6052 for more information on the SIIT mechanism and RFC 7757 about the explicit address mappings (eam) mechanism

Notes

This plugin is heavily based on dns64 plugin.