Update README.md
Minor grammatical fixes.
This commit is contained in:
parent
5318e1084b
commit
63840bc2fa
1 changed files with 22 additions and 22 deletions
44
README.md
44
README.md
|
@ -1,47 +1,47 @@
|
|||
# CoreDNS
|
||||
|
||||
CoreDNS is DNS server that started as a fork of [Caddy](https://github.com/mholt/caddy/). It has the
|
||||
same model: it chains middleware. In fact to similar that CoreDNS is now a server type plugin for
|
||||
CAddy, i.e. you'll need Caddy to compile CoreDNS.
|
||||
CoreDNS is a DNS server that started as a fork of [Caddy](https://github.com/mholt/caddy/). It has the
|
||||
same model: it chains middleware. In fact it's so similar that CoreDNS is now a server type plugin for
|
||||
Caddy, i.e., you'll need Caddy to compile CoreDNS.
|
||||
|
||||
CoreDNS is the successor of [SkyDNS](https://github.com/skynetservices/skydns). SkyDNS is a thin
|
||||
CoreDNS is the successor to [SkyDNS](https://github.com/skynetservices/skydns). SkyDNS is a thin
|
||||
layer that exposes services in etcd in the DNS. CoreDNS builds on this idea and is a generic DNS
|
||||
server that can talk to multiple backends (etcd, consul, kubernetes, etc.).
|
||||
|
||||
CoreDNS aims to be a fast and flexible DNS server. The keyword here is *flexible*, with CoreDNS you
|
||||
are able to do what you want with your DNS data. And if not: write a middleware!
|
||||
CoreDNS aims to be a fast and flexible DNS server. The keyword here is *flexible*: with CoreDNS you
|
||||
are able to do what you want with your DNS data. And if not: write some middleware!
|
||||
|
||||
Currently CoreDNS is able to:
|
||||
|
||||
* Serve zone data from a file, both DNSSEC (NSEC only) and DNS is supported (middleware/file).
|
||||
* Retrieve zone data from primaries, i.e. act as a secondary server (AXFR only) (middleware/secondary).
|
||||
* Serve zone data from a file; both DNSSEC (NSEC only) and DNS are supported (middleware/file).
|
||||
* Retrieve zone data from primaries, i.e., act as a secondary server (AXFR only) (middleware/secondary).
|
||||
* Sign zone data on-the-fly (middleware/dnssec).
|
||||
* Loadbalancing of responses (middleware/loadbalance).
|
||||
* Allow for zone transfers, i.e. act as a primary server (middleware/file).
|
||||
* Load balancing of responses (middleware/loadbalance).
|
||||
* Allow for zone transfers, i.e., act as a primary server (middleware/file).
|
||||
* Caching (middleware/cache).
|
||||
* Health checking (middleware/health).
|
||||
* Use etcd as a backend, i.e. a 101.5% replacement for
|
||||
* Use etcd as a backend, i.e., a 101.5% replacement for
|
||||
[SkyDNS](https://github.com/skynetservices/skydns) (middleware/etcd).
|
||||
* Use k8s (kubernetes) as a backend (middleware/kubernetes).
|
||||
* Serve as a proxy to forward queries to some other (recursive) nameserver (middleware/proxy).
|
||||
* Rewrite queries (both qtype, qclass and qname) (middleware/rewrite).
|
||||
* Rewrite queries (qtype, qclass and qname) (middleware/rewrite).
|
||||
* Provide metrics (by using Prometheus) (middleware/metrics).
|
||||
* Provide Logging (middleware/log).
|
||||
* Has support for the CH class: `version.bind` and friends (middleware/chaos).
|
||||
* Support the CH class: `version.bind` and friends (middleware/chaos).
|
||||
* Profiling support (middleware/pprof).
|
||||
|
||||
Each of the middlewares has a README.md of their own.
|
||||
Each of the middlewares has a README.md of its own.
|
||||
|
||||
## Status
|
||||
|
||||
I'm using CoreDNS is my primary, authoritative, nameserver for my domains (`miek.nl`, `atoom.net`
|
||||
and a few others). CoreDNS should be stable enough to provide you with a good DNS(SEC) service.
|
||||
and a few others). CoreDNS should be stable enough to provide you with good DNS(SEC) service.
|
||||
|
||||
There are still few [issues](https://github.com/miekg/coredns/issues), and work is ongoing on making
|
||||
things fast and reduce the memory usage.
|
||||
things fast and to reduce the memory usage.
|
||||
|
||||
All in all, CoreDNS should be able to provide you with enough functionality to replace parts of
|
||||
BIND9, Knot, NSD or PowerDNS and SkyDNS.
|
||||
BIND 9, Knot, NSD or PowerDNS and SkyDNS.
|
||||
Most documentation is in the source and some blog articles can be [found
|
||||
here](https://miek.nl/tags/coredns/). If you do want to use CoreDNS in production, please let us
|
||||
know and how we can help.
|
||||
|
@ -52,7 +52,7 @@ Caddyfile when I forked it).
|
|||
## Compilation
|
||||
|
||||
CoreDNS (as a servertype plugin for Caddy) has a dependency on Caddy - this is *almost* like
|
||||
the normal Go dependencies, but with a small twist, caddy (the source) need to know that CoreDNS
|
||||
the normal Go dependencies, but with a small twist: caddy (the source) need to know that CoreDNS
|
||||
exists and for this we need to add 1 line `_ "github.com/miekg/coredns/core"` to file in caddy.
|
||||
|
||||
You have the source of CoreDNS, this should preferably be downloaded under your `$GOPATH`. Get all
|
||||
|
@ -60,13 +60,13 @@ dependencies:
|
|||
|
||||
go get ./...
|
||||
|
||||
Then, execute `go generate`, this will patch Caddy to add CoreDNS (and remove the HTTP server
|
||||
Then, execute `go generate`. This will patch Caddy to add CoreDNS (and remove the HTTP server
|
||||
plugin), and then `go build` as you would normally do:
|
||||
|
||||
go generate
|
||||
go build
|
||||
|
||||
Should yield a `coredns` binary.
|
||||
This should yield a `coredns` binary.
|
||||
|
||||
## Examples
|
||||
|
||||
|
@ -82,10 +82,10 @@ Start a simple proxy, you'll need to be root to start listening on port 53.
|
|||
~~~
|
||||
|
||||
Just start CoreDNS: `./coredns`.
|
||||
And then just query on that port (53), the query should be forwarded to 8.8.8.8 and the response
|
||||
And then just query on that port (53). The query should be forwarded to 8.8.8.8 and the response
|
||||
will be returned. Each query should also show up in the log.
|
||||
|
||||
Serve the (NSEC) DNSSEC signed `example.org` on port 1053, errors and logging to stdout. Allow zone
|
||||
Serve the (NSEC) DNSSEC-signed `example.org` on port 1053, with errors and logging sent to stdout. Allow zone
|
||||
transfers to everybody, but specically mention 1 IP address so that CoreDNS can send notifies to it.
|
||||
|
||||
~~~ txt
|
||||
|
|
Loading…
Add table
Reference in a new issue