Quantcast
Channel: 看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
Viewing all articles
Browse latest Browse all 20523

dns解析服务器程序:fun-dns

$
0
0
DNS server built based on Nodejs,

How install
Run $ sudo setup.sh
OR
$ wget -O /tmp/fun_dns.tar.gz https://github.com/downloads/badlee/fun-dns/fun_dns.v0.1.12.tar.gz
$ sudo -s
$ mkdir /opt/fun_dns
$ cd /opt/fun_dns
$ tar xvf /tmp/fun_dns.tar.gz
$ ln -s /opt/fun_dns/fun_dns.daemon /etc/init.d/fun_dns
$ update-rc.d fun_dns defaults
$ #Start service
$ service fun_dns start

How define hostname
edit 'config/conf.json',
the syntaxe of this file respect json format
{
"hostname1" : {
[property...]
},
"hostname2" : {
[property...]
},
"hostname3" : {
[property...]
},
[...]
"hostnameN" : {
[property...]
}
}
properties of a hostname
"name" : {
"ip" : "127.0.0.1",
"description" : "je suis le serveur web local",
"autority" : "dns.{name},admin@{name}",
"mail" : {
"ip" : "127.0.0.2",
"name" : "mail.{name}",
"priority" : 10
},
"nameserver" : [{
"ip" : "127.0.0.1",
"name" : "ns1.{name}"
}]
}
The hostname can have a short regex like syntaxe.
* : this expression respect ".*" in regex;
%w : this expression respect "[a-zA-Z0-9_]+" in regex;
%h : this expression respect "[a-fA-F0-9]+" in regex;
%d : this expression respect "[0-9]+" in regex;

sample conf.json :
{
"server.web" : {
"ip" : "192.168.1.3",
"nameserver" : [{
"name" : "dns3.local.web"
},{
"ip" : "192.168.1.2",
"name" : "dns2.local.web"
},{
"ip" : "192.168.1.1",
"name" : "dns.local.web"
}]
},
"!*.lo" : {
"ip" : "127.0.0.1",
"autority" : "dns.{name},admin@{name}",

"nameserver" : [{
"ip" : "127.0.0.1",
"name" : "dns.{name}"
},{
"ip" : "127.0.0.1",
"name" : "dns2.{name}"
}]

}
}

Server confiurations(config/serv.ini)
conf = configuration hostname file(if not defined is set to app://config/conf.json)
host = your ip4 addresse to listen(if not defined listen all)
port = port to listen(if not defined listen 53)
Section nameserver = list of dns server used to found response when no response found on server(as a proxy, but it's eprouve the global performances)
[nameserver]
nameOfTheDnsServer1 = Ip_Address
nameOfTheDnsServer2 = Ip_Address
...
nameOfTheDnsServer3 = Ip_Address
Section ttl = list of ttl in dns reponse (in secondes)
[ttl]
ip = ttl for any ip (A or AAAA) address (if not defined 77)
ttl = ttl for any field different of ip (A or AAAA) (if not defined 600)
refresh = time to refresh the zone (if not defined 1800)
retry = time to retry when refresh (above) has expired (if not defined 900)
expiration = ttl for DNS response (if not defined 604800)

sample serv.ini:
conf = app://config/lab.json
port = 53
host = 192.168.1.1
spf = "v=spf1 +all"
[ttl]
ttl = 600
ip = 77
[nameserver]
google.dns.a = 8.8.8.8
google.dns.b = 8.8.4.4



Command line option
Usage:
fun_dns [options]
Options:
--- -p|--port
port to listen.
--- -h|--host
host to bind.
--- -c|--conf
configuration file(hostname).
--- -s|--servConf
configuration file(server).
--- -v|--version
Get the version of fun_dns
--- -z|--zone
Lookup a zoneWalk
--- -l|--log
path to log file

from https://github.com/badlee/fun-dns
(https://github.com/badlee/fun-dns/issues/3)

Viewing all articles
Browse latest Browse all 20523

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>