lordwelch
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
lordwelch
b801bf699f
Re-Add DHCP discover fallback for ISPs that don't advertise DHCP
2021-05-23 19:38:38 -07:00
lordwelch
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
lordwelch
ac0ef71d9f
Fix null check
2021-05-23 18:54:09 -07:00
lordwelch
9533787aac
Fix err check
...
go mod tidy
2021-05-23 18:31:30 -07:00
lordwelch
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
lordwelch
ef50f7c2e4
Merge remote-tracking branch 'origin/master'
2021-03-15 22:44:39 -07:00
lordwelch
a592bbc76a
Revert "Fallback to DHCPDISCOVER after 4 failed timeouts"
...
This reverts commit 68105841c6566eca72f039120e9a01e886a42041.
2021-03-15 22:34:17 -07:00
lordwelch
9f4380a4a3
Fix the fallback to DHCP Discover
...
Log the IP Address of the server in each failed timeout
Update gokrazy
2021-01-09 15:32:30 -08:00
Robert Obryk
f8d1b4c8f2
internal/dhcp4: make persistent errors actally persistent ( #62 )
...
Previously, a permanent error would not be persisted for future
invocations of ObtainOrRenew. In practice, the daemon immediately
exited, so this made no difference.
2020-11-23 09:35:00 +01:00
Robert Obryk
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
Robert Obryk
0507d93b3d
dhcp4d: ensure that SetHostname operates on the correct lease ( #64 )
...
Previously SetHostname could operate on an expired lease, or even on a
lease for a different hwaddr, if the lease for the correct hwaddr
expired and the same lease ID was given away to someone else.
That's though mostly a theoretical concern, given the actual usage of
SetHostname and the time scales involved.
2020-11-23 09:32:42 +01:00
Michael Stapelberg
7f135438b8
dhcp4d: mention apple-suggested lease time of 1 hour
2020-11-01 19:24:24 +01:00
Michael Stapelberg
a8fce3cbbc
diag: drain ping reply channel to avoid goroutine leak
2020-09-14 22:10:09 +02:00
Michael Stapelberg
416c1a58f6
diag: plug socket leak by adding missing Close()
2020-09-14 22:10:07 +02:00
Michael Stapelberg
876f8e320f
netconfig: de-configure old DHCPv4 addresses from uplink0
...
It is generally not a good idea to have multiple IP addresses on the same
interface unless managing their relative priorities via metrics etc.
During an outage, I noticed that with multiple IP addresses,
Linux was using the old obsolete one to send out packets,
which does not work with the ISP.
With this change,
we still hold on to IP addresses for as long as possible,
but no longer.
fixes issue #57
2020-09-12 19:58:47 +02:00
lordwelch
68105841c6
Fallback to DHCPDISCOVER after 4 failed timeouts
2020-09-01 22:16:14 -07:00
lordwelch
04ee69ce02
go mod tidy
...
Update deps
2020-08-10 18:26:07 -07:00
lordwelch
7923e58428
dhcp4d: add an options argument for the dhcp server
2020-08-10 18:12:35 -07:00
lordwelch
2dc11ce1e3
Add additional test cases and fix some failing tests
2020-08-10 18:12:34 -07:00
lordwelch
e421cff225
Fix the implicit lan domain
...
Includes test for setting a custom domain
2020-08-10 18:12:34 -07:00
lordwelch
fbd2facfa1
Set the recursion available flag
2020-08-10 18:12:34 -07:00
lordwelch
fbbfa568a8
Add JSON tags
2020-08-10 18:12:34 -07:00
lordwelch
169bc5c3e7
DNS changes
...
go mod tidy
2020-08-10 18:12:34 -07:00
lordwelch
3c451f06ca
Add the ability to run router7 on a normal Linux distribution
2020-08-10 18:12:34 -07:00
Michael Stapelberg
ae8cfee616
dhcp6: inspect server advertisment IAPD and report error, if any
...
The fiber7 DHCPv6 servers (sometimes?) use this field for reporting errors.
2020-07-02 22:06:55 +02:00
Michael Stapelberg
aa14d119e6
dyndns: add log message when records are updated
...
Now both cases are covered.
2020-05-28 17:24:51 +02:00
Michael Stapelberg
decb0978d7
dyndns: update to newer libdns/cloudflare, remove workaround
2020-05-28 17:22:24 +02:00
Michael Stapelberg
7950291db6
dyndns: tweak up-to-date message output
2020-05-28 09:42:55 +02:00
Michael Stapelberg
4a5f55a5de
defense in depth: verify hex.DecodeString length
...
related to #49
2020-05-27 09:50:04 +02:00
Matt Layher
ead58ad72c
cmd/dyndns: prototype for dynamic DNS daemon ( #50 )
...
Updates #46 .
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-23 23:06:21 +02:00
Matt Layher
7aeb51e9ec
internal/dhcp4d: handle DHCPDECLINE and fix bug regarding MacBook declining leases ( #48 )
...
Fixes #40
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-23 20:53:13 +02:00
Matt Layher
fe68c2dd52
internal/radvd: add support for DNSSL ( #47 )
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-23 19:52:52 +02:00
Michael Stapelberg
53c495091e
quirk: enforce minimum lease time of 1 hour for Nintendo devices
...
The Nintendo Switch has been observed to hold on to IP addresses even after
their expiration. My guess is that this is an oversight: likely the device
enters power saving mode with a configured IP address and just sleeps through
the expiration time.
As the device seems to wake up once every hour, we enforce a minimum lease time
of 1 hour, but only for affected devices. The rest of the network gets short
lease times.
https://twitter.com/zekjur/status/1263949112036282374
2020-05-23 09:07:17 +02:00
Matt Layher
61174cde06
internal/netconfig: add missing error check
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:04:31 -04:00
Matt Layher
9f6257b046
internal/dns: fix staticcheck issues
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:02:33 -04:00
Matt Layher
b8c40958e8
internal/dhcp6: fix error case
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:00:43 -04:00
Matt Layher
411780cd8e
internal/dhcp4: fix error case
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 17:00:07 -04:00
Matt Layher
dd7c3a8a5f
internal/testing/dnsmasq: panic in goroutine instead of fatal
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:55:46 -04:00
Matt Layher
8efea22943
internal/radvd: remove dead types
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:52:52 -04:00
Matt Layher
e1f2b975a1
internal/dhcp4d: fix staticcheck issues
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:51:32 -04:00
Matt Layher
107a8f0425
internal/radvd: switch to github.com/mdlayher/ndp types ( #43 )
...
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 22:50:44 +02:00
Michael Stapelberg
2b6ab5b2bd
dhcp4d: make hostname override settable from status page
2020-04-12 10:33:11 +02:00
Chris K
4f0efc7b18
dhcp6: use new IAPD & Prefix getters ( #41 )
...
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-13 08:47:38 +01:00
Michael Stapelberg
e67fb4dd71
diagd: make output look good in a terminal, too
...
curl diagd.router7/
2020-03-11 22:12:00 +01:00
Chris K
ffc4c21bcd
dhcp6: use new getters ( #37 )
...
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-07 09:35:59 +01:00
Michael Stapelberg
dba1dad718
wireguard: switch to wgctrl package
...
related to #14
2020-02-16 00:15:23 +01:00
Michael Stapelberg
bfba9f17af
netconfigd: collect all errors but keep going
2020-02-15 23:38:37 +01:00
Michael Stapelberg
96b626897a
netconfigd: work not only with uplink0, but also eth0 and ens3
...
This makes it possible to use netconfigd on gokrazy Raspberry Pi installations.
2020-02-15 23:37:29 +01:00
Michael Stapelberg
ef60a01f3f
netconfigd: continue if interfaces.json does not exist
2020-02-15 23:35:51 +01:00