mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -04:00
doc: update README (#1178)
People are using it in prod and some other updates.
This commit is contained in:
33
README.md
33
README.md
@@ -7,8 +7,8 @@
|
|||||||
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fcoredns%2Fcoredns?ref=badge_shield)
|
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fcoredns%2Fcoredns?ref=badge_shield)
|
||||||
[](https://bestpractices.coreinfrastructure.org/projects/1250)
|
[](https://bestpractices.coreinfrastructure.org/projects/1250)
|
||||||
|
|
||||||
CoreDNS is a DNS server that started as a fork of [Caddy](https://github.com/mholt/caddy/). It has
|
CoreDNS (written in Go) chains [plugins](https://coredns.io/plugins). Each plugin performs a DNS
|
||||||
the same model: it chains plugins.
|
function.
|
||||||
|
|
||||||
CoreDNS is a [Cloud Native Computing Foundation](https://cncf.io) inception level project.
|
CoreDNS is a [Cloud Native Computing Foundation](https://cncf.io) inception level project.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ CoreDNS aims to be a fast and flexible DNS server. The keyword here is *flexible
|
|||||||
are able to do what you want with your DNS data. And if not: write a plugin!
|
are able to do what you want with your DNS data. And if not: write a plugin!
|
||||||
|
|
||||||
CoreDNS can listen for DNS request coming in over UDP/TCP (go'old DNS), TLS ([RFC
|
CoreDNS can listen for DNS request coming in over UDP/TCP (go'old DNS), TLS ([RFC
|
||||||
7858](https://tools.ietf.org/html/rfc7858)) and gRPC (not a standard).
|
7858](https://tools.ietf.org/html/rfc7858)) and [gRPC](https://grpc.io) (not a standard).
|
||||||
|
|
||||||
Currently CoreDNS is able to:
|
Currently CoreDNS is able to:
|
||||||
|
|
||||||
@@ -41,17 +41,17 @@ Currently CoreDNS is able to:
|
|||||||
* Support the CH class: `version.bind` and friends (*chaos*).
|
* Support the CH class: `version.bind` and friends (*chaos*).
|
||||||
* Profiling support (*pprof*).
|
* Profiling support (*pprof*).
|
||||||
* Rewrite queries (qtype, qclass and qname) (*rewrite*).
|
* Rewrite queries (qtype, qclass and qname) (*rewrite*).
|
||||||
* Echo back the IP address, transport and port number used (*whoami*).
|
* Echo back the IP address, transport and port number used (*whoami*). This is also the default
|
||||||
|
plugin that gets loaded when CoreDNS can't find a Corefile to load.
|
||||||
|
|
||||||
Each of the plugins has a README.md of its own, see [coredns.io/plugins](https://coredns.io/plugins)
|
Each of the plugins has a README.md of its own, see [coredns.io/plugins](https://coredns.io/plugins)
|
||||||
for all in-tree plugins.
|
for all in-tree plugins, and [coredns.io/explugins](https://coredns.io/explugins) for all
|
||||||
|
out-of-tree plugins.
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
CoreDNS can be used as an authoritative nameserver for your domains. All in all, CoreDNS should be
|
CoreDNS can be used as an authoritative nameserver for your domains. CoreDNS should be able to
|
||||||
able to provide you with enough functionality to replace parts of BIND 9, Knot, NSD or PowerDNS and
|
provide you with enough functionality to replace parts of BIND 9, Knot, NSD or PowerDNS and SkyDNS.
|
||||||
SkyDNS. Most documentation is in the source and blog articles can be [found
|
|
||||||
here](https://coredns.io). If you do want to use CoreDNS in production, please let us know.
|
|
||||||
|
|
||||||
## Compilation
|
## Compilation
|
||||||
|
|
||||||
@@ -85,8 +85,8 @@ The above command alone will have `coredns` binary generated.
|
|||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
When starting CoreDNS without any configuration, it loads the
|
When starting CoreDNS without any configuration, it loads the
|
||||||
[*whoami*](https://coredns.io/plugins/whoami) plugin and starts
|
[*whoami*](https://coredns.io/plugins/whoami) plugin and starts listening on port 53 (override with
|
||||||
listening on port 53 (override with `-dns.port`), it should show the following:
|
`-dns.port`), it should show the following:
|
||||||
|
|
||||||
~~~ txt
|
~~~ txt
|
||||||
.:53
|
.:53
|
||||||
@@ -106,7 +106,7 @@ Start a simple proxy, you'll need to be root to start listening on port 53.
|
|||||||
|
|
||||||
`Corefile` contains:
|
`Corefile` contains:
|
||||||
|
|
||||||
~~~ txt
|
~~~ corefile
|
||||||
.:53 {
|
.:53 {
|
||||||
proxy . 8.8.8.8:53
|
proxy . 8.8.8.8:53
|
||||||
log
|
log
|
||||||
@@ -114,11 +114,12 @@ Start a simple proxy, you'll need to be root to start listening on port 53.
|
|||||||
~~~
|
~~~
|
||||||
|
|
||||||
Just start CoreDNS: `./coredns`. Then just query on that port (53). The query should be forwarded to
|
Just start CoreDNS: `./coredns`. 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.
|
8.8.8.8 and the response will be returned. Each query should also show up in the log which is
|
||||||
|
printed on standard output.
|
||||||
|
|
||||||
Serve the (NSEC) DNSSEC-signed `example.org` on port 1053, with errors and logging sent to stdout.
|
Serve the (NSEC) DNSSEC-signed `example.org` on port 1053, with errors and logging sent to standard
|
||||||
Allow zone transfers to everybody, but specifically mention 1 IP address so that CoreDNS can send
|
output. Allow zone transfers to everybody, but specifically mention 1 IP address so that CoreDNS can
|
||||||
notifies to it.
|
send notifies to it.
|
||||||
|
|
||||||
~~~ txt
|
~~~ txt
|
||||||
example.org:1053 {
|
example.org:1053 {
|
||||||
|
|||||||
Reference in New Issue
Block a user