42 Commits

Author SHA1 Message Date
fc2e21cfd6 Fix nft run 2024-12-24 11:09:11 -08:00
971b8f2521 Use nextdns 2024-08-17 11:21:07 -07:00
ab5bce1356 updates 2024-01-20 11:41:04 -08:00
61b59517fc Act as the authority even though were not
letsencrypt needs to talk to the authoritative name server, but
I have all dns traffic redirected to here so we get the SOA using the
same request (probably only works by accident) and then make a request
to the address listed in the SOA

Fix typos in IPv6 addresses
2021-05-26 23:04:33 -07:00
e34b880a55 Final fix
Add the domain as it is needed (multiple domains on a home net is niche)
Only replace the record if a local one was found
Use proper slice updating
2021-05-23 19:34:59 -07:00
ac0ef71d9f Fix null check 2021-05-23 18:54:09 -07:00
9533787aac Fix err check
go mod tidy
2021-05-23 18:31:30 -07:00
29eaa11052 Update parameters for clarity
Hijack the final A record in a CNAME chain if it is in our records
2021-05-23 17:49:15 -07:00
ef50f7c2e4 Merge remote-tracking branch 'origin/master' 2021-03-15 22:44:39 -07:00
8de4eb7ba1 internal/dns: prevent upstreams from being lost during reordering (#63)
If upstreams were reordered between start of an upstream request and its
conclusion, the move-to-front operation would likely incorrectly reorder
upstreams: duplicate one and remove another. Instead, we abandon the
move-to-front operation if that was about to happen.
2020-11-23 09:34:04 +01:00
2dc11ce1e3 Add additional test cases and fix some failing tests 2020-08-10 18:12:34 -07:00
e421cff225 Fix the implicit lan domain
Includes test for setting a custom domain
2020-08-10 18:12:34 -07:00
fbd2facfa1 Set the recursion available flag 2020-08-10 18:12:34 -07:00
fbbfa568a8 Add JSON tags 2020-08-10 18:12:34 -07:00
169bc5c3e7 DNS changes
go mod tidy
2020-08-10 18:12:34 -07:00
3c451f06ca Add the ability to run router7 on a normal Linux distribution 2020-08-10 18:12:34 -07:00
9f6257b046 internal/dns: fix staticcheck issues
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:02:33 -04:00
70edcab16b dns: return NXDOMAIN for DHCP leases once they expire 2019-09-07 19:27:12 +02:00
4cde5ec6fc dns: fix resolution of uppercase host names, add test 2019-08-07 18:18:51 +02:00
8fb81f90b1 dns: make more recent DHCP leases overwrite older ones
fixes #20
2019-07-20 12:23:48 +02:00
36995097b9 make local name resolution case-insensitive
fixes #34
2019-07-20 12:07:30 +02:00
66942bd4f7 dns: steer traffic toward the most response upstream
There is not much of a difference between IPv4 and IPv6 on my fiber7 link, but
in other networks, there might well be.

For my connection, this commit results in hitting different upstreams all the
time because the list isn’t stable. But, this is the opposite of a problem: we
are spreading the DNS query load over all configured IPs, as good netizen do.
2019-02-19 09:37:38 +01:00
a05f027765 dns: fallback only once, i.e. prefer the working server next time 2019-02-19 08:49:40 +01:00
ccaf6ad452 dns: fallback to next upstream upon failure 2019-02-19 08:38:52 +01:00
bd8fc63b0e dns: implement per-DHCP-lease dyndns
The HTTP API is easy to use from the command line or from Go:

% curl --data "host=sub&ip=192.168.33.44" -4 http://router7:8053/dyndns
ok
% host sub.$(hostname)
sub.midna has address 192.168.33.44

This can be used in combination with https://github.com/gokrazy/gdns
2019-01-06 14:41:26 +01:00
92d995bf79 dns: return empty reply for non-A queries for DNS hostnames
instead of NXDOMAIN, which is incorrect
2019-01-01 17:21:50 +01:00
ac883da6a5 dns_test: xps → testtarget
This fixes running the tests on xps, where the entry derived from os.Hostname
would clash with the xps entries the testcase tries to install.
2018-11-22 17:03:51 +01:00
4288adec69 dns: don’t let clients override the hostname
fixes #11
2018-10-22 21:43:41 +02:00
5a5a748b9f dnsd: don’t serve expired leases
fixes #6
2018-08-05 11:30:58 +02:00
b347ed74c5 update import paths 2018-07-09 08:54:04 +02:00
ff7aa8f2cb add copyright notices 2018-06-28 20:08:23 +02:00
89e1276ad4 dns: simplify resolving code 2018-06-26 09:33:23 +02:00
10df129c1f dns: listen on all private IP addresses 2018-06-26 08:53:20 +02:00
08249aec6a dns: resolve localhost locally 2018-06-25 20:24:02 +02:00
60de127991 Describe all packages and binaries. 2018-06-25 20:12:51 +02:00
c96c683e43 dns: send NXDOMAIN for non-existant local names 2018-06-23 22:15:35 +02:00
4b6b5196b0 dns: correctly resolve PTR for hostname 2018-06-18 09:44:46 +02:00
c743091929 dns: track number of questions and which upstream was used 2018-06-18 09:35:14 +02:00
24e2d5de00 dnsd: serve prometheus metrics on port 8053 2018-06-18 08:04:56 +02:00
93eaab99cb dns: resolve own hostname, lock for concurrency 2018-06-14 20:42:53 +02:00
02c7fa7e0d dns: serve reverse lookup queries for all RFC 1918 reserved networks 2018-06-14 20:24:44 +02:00
6b9ce5728a Initial commit 2018-05-27 17:30:42 +02:00