kenshinx / godns

A fast dns cache server written by go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support multiple A entries / DNS round robin

Soulou opened this issue · comments

It's not possible today to setup multiple IPs for a given domain name, it would be great if this was possible.

Any thought about that?

Regards,

-- Leo

Yes. That would be a significant features for this project.

A lot of relevant changes should be make to implementation this function.So i need some time for coding.
I will try to add this feature in this week later or next finally.

Can you accept that?

kenshin

Hi @kenshinx, of course that would be great, I don't have a lot of time right now, but I'd be pleased contributing to the project. We're using it in production and it's working fine. Next step for me is Redis Sentinel/Cluster handling.

I am so sorry leave so long time. So heavy work recently.:(
I have fix this PR, hope is not too late.

Now multiple A entries can bee set in redis-backend hosts records, such as:

redis > hset a.com 1.1.1.1,2.2.2.2,3.3.3.3

Test use dig

kenshin@MacBook-Pro-4:~$ dig a.com @127.0.0.1

; <<>> DiG 9.8.3-P1 <<>> a.com @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23521
;; flags: qr rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;a.com.             IN  A

;; ANSWER SECTION:
a.com.          600 IN  A   1.1.1.1
a.com.          600 IN  A   2.2.2.2
a.com.          600 IN  A   3.3.3.3

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Oct 15 01:30:40 2015
;; MSG SIZE  rcvd: 86

However, file-backed hosts didn't support this feature still, because /etc/hosts has an standard described in http://man7.org/linux/man-pages/man5/hosts.5.html , i don't want to break it.

Fix