DNS
Experimental feature!
DNS Server
A DNS Server is available but disabled by default.
The DNS server will resolve DNS queries using the blockchain as a record and will forward unknown domains by default.
It can be enabled by specifying a listening address with --dns
. For example, to bind to default 53
port locally, run in the console:
edgevpn --dns "127.0.0.1:53"
To turn off dns forwarding, specify --dns-forwarder=false
. Optionally a list of DNS servers can be specified multiple times with --dns-forward-server
.
The dns subcommand has several options:
--dns value DNS listening address. Empty to disable dns server [$DNSADDRESS]
--dns-forwarder Enables dns forwarding [$DNSFORWARD]
--dns-cache-size value DNS LRU cache size (default: 200) [$DNSCACHESIZE]
--dns-forward-server value List of DNS forward server (default: "8.8.8.8:53", "1.1.1.1:53") [$DNSFORWARDSERVER]
Nodes of the VPN can start a local DNS server which will resolve the routes stored in the chain.
For example, to add DNS records, use the API as such:
$ curl -X POST http://localhost:8080/api/dns --header "Content-Type: application/json" -d '{ "Regex": "foo.bar", "Records": { "A": "2.2.2.2" } }'
The /api/dns
routes accepts POST
requests as JSON
of the following form:
{ "Regex": "<regex>",
"Records": {
"A": "2.2.2.2",
"AAAA": "...",
},
}
Note, Regex
accepts regexes which will match the DNS requests received and resolved to the specified entries.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.