owlwalks / rind

DNS server with REST interface for records management built on Golang
BSD 3-Clause "New" or "Revised" License
147 stars 48 forks source link

Does this support zones? #1

Closed gcstang closed 5 years ago

gcstang commented 5 years ago

Great project!

Thank you

I'd like to convert from using bind in my small private network to this if possible.

(It's possible I'm making this more complicated than need be but if there is an alternative, please say so)

I'm currently using bind on a docker container with different zones configured. Some zones point to their local file and others are forwarded to for example Cloudflare 1.1.1.1 Two different types of zones master and forward. i.e. zone "knock.mydomain.com" { type master; file "/var/lib/bind/knock.mydomain.com.hosts"; };

zone "r.mydomain.com" { type forward; forwarders { 1.1.1.1; }; };

master file file contents: `$ttl 38400 knock.mydomain.com. IN SOA ns.mydomain.com. admin.gmail.com. ( 1481752870 10800 3600 604800 38400 )

knock.mydomain.com. IN NS ns.mydomain.com. knock.mydomain.com. IN A 192.168.2.112`

owlwalks commented 5 years ago

hi gcstang, at the moment it doesn't support zone file, the records are simply stored in binary (gob), it's a good feature to add though.

but we can make rind kinda works the same way, for rind, all queries will be forwarded by default, so i wouldn't worry for "r.mydomain.com."

for "knock.mydomain.com.", to point it to "192.168.2.112", we just need this:

// TTL 0 or 1 means rind will point "knock.mydomain.com." to 192.168.2.112 forever, until you curl -X DELETE it
curl -X POST \
  http://localhost/dns \
  -H 'Content-Type: application/json' \
  -d '{
    "Host": "knock.mydomain.com.",
    "TTL": 1,
    "Type": "A",
    "Data": "192.168.2.112"
}'

i will leave out SOA and NS record for your particular use, SOA is mainly for zone transfer (propagating records to secondary dns servers). Also rind is not exactly an authoritative nameserver, so NS record doesn't really matter.

gcstang commented 5 years ago

Thank you for your response, I'll give it a shot.

gcstang commented 5 years ago

Is reverse lookup supported?

owlwalks commented 5 years ago

you can try dig -x after adding a PTR record, it should work

owlwalks commented 5 years ago

Closed to cover these use cases in README for future references

gcstang commented 5 years ago

Would you have a sample?

On Tue, Dec 11, 2018 at 10:12 PM owlwalks notifications@github.com wrote:

you can try dig -x after adding a PTR record, it should work

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/owlwalks/rind/issues/1#issuecomment-446455660, or mute the thread https://github.com/notifications/unsubscribe-auth/ADBkKUNna8ivwqkcrujWI7hlhFdy9zuqks5u4IIcgaJpZM4Y6lIC .