1
0
Fork 0
alias/README.md

1.3 KiB

Alias middleware

This middleware eliminates CNAME records from zone apex by making the subsequent resolved records look like they belong to the zone apex. This behaves similarily to CloudFlare's Zone Flattening.

Preferrably, this should not be used in favour of the RFC drafts for the new ANAME records, but the DNS library used by CoreDNS does not support ANAME records yet.

Usage

$ go get github.com/coredns/coredns
$ go get github.com/serverwentdown/alias
$ cd $GOPATH/src/github.com/coredns/coredns
$ vim middleware.cfg
# Add the line 205:alias:github.com/serverwentdown/alias
$ go generate
$ go build
$ ./coredns -plugins | grep alias

This middleware only works with the file middleware with upstream set, or when A or AAAA records exist alongside the CNAME record.

example.com {
  file example.com.db {
    upstream 8.8.8.8
  }
  alias
}

All it does is transform records like this:

;; ANSWER SECTION:
example.com.	300	IN	CNAME	some.magic.example.org.
some.magic.example.org. 299 IN A	123.123.45.67

into

;; ANSWER SECTION:
example.com.	299	IN	A	123.123.45.67