mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
core: add more transports (#574)
* core: add listening for other protocols
Allow CoreDNS to listen for TLS request coming over port 853. This can
be enabled with `tls://` in the config file.
Implement listening for grps:// as well.
a Corefile like:
~~~
. tls://.:1853 {
whoami
tls
}
~~~
Means we listen on 1853 for tls requests, the `tls` config item allows
configuration for TLS parameters. We *might* be tempted to use Caddy's
Let's Encrypt implementation here.
* Refactor coredns/grpc into CoreDNS
This makes gRPC a first class citizen in CoreDNS. Add defines as being
just another server.
* some cleanups
* unexport the servers
* Move protobuf dir
* Hook up TLS properly
* Fix test
* listen for TLS as well. README updates
* disable test, fix package
* fix test
* Fix tests
* Fix remaining test
* Some tests
* Make the test work
* Add grpc test from #580
* fix crash
* Fix tests
* Close conn
* README cleanups
* README
* link RFC
This commit is contained in:
34
README.md
34
README.md
@@ -5,9 +5,10 @@
|
||||
[](https://codecov.io/github/coredns/coredns?branch=master)
|
||||
[](https://goreportcard.com/report/coredns/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. CoreDNS is also a [Cloud Native Computing Foundation](https://cncf.io) inception level project.
|
||||
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. CoreDNS is also a [Cloud Native Computing Foundation](https://cncf.io) inception
|
||||
level project.
|
||||
|
||||
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
|
||||
@@ -16,6 +17,11 @@ server that can talk to multiple backends (etcd, 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 some middleware!
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Currently CoreDNS is able to:
|
||||
|
||||
* Serve zone data from a file; both DNSSEC (NSEC only) and DNS are supported (*file*).
|
||||
@@ -44,8 +50,8 @@ Each of the middlewares has a README.md of its own.
|
||||
CoreDNS can be used as an authoritative nameserver for your domains, and should be stable enough to
|
||||
provide you with good DNS(SEC) service.
|
||||
|
||||
There are still a few known [issues](https://github.com/coredns/coredns/issues), and work is ongoing on making
|
||||
things fast and to reduce the memory usage.
|
||||
There are still a few known [issues](https://github.com/coredns/coredns/issues), and work is ongoing
|
||||
on making 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 BIND
|
||||
9, Knot, NSD or PowerDNS and SkyDNS. Most documentation is in the source and some blog articles can
|
||||
@@ -169,6 +175,24 @@ example.org {
|
||||
}
|
||||
~~~
|
||||
|
||||
Listening on TLS and for gRPC? Use:
|
||||
|
||||
~~~ txt
|
||||
tls://example.org grpc://example.org {
|
||||
# ...
|
||||
}
|
||||
~~~
|
||||
|
||||
Specifying ports works in the same way:
|
||||
|
||||
~~~ txt
|
||||
grpc://example.org:1443 {
|
||||
# ...
|
||||
}
|
||||
~~~
|
||||
|
||||
When no transport protocol is specified the default `dns://` is assumed.
|
||||
|
||||
## Blog and Contact
|
||||
|
||||
Website: <https://coredns.io>
|
||||
|
||||
Reference in New Issue
Block a user