372 Commits

Author SHA1 Message Date
Michael Stapelberg
fddfe80222 dhcp4: start from scratch after 5 minutes of continued unhealthiness
fixes #58
2020-09-14 09:06:05 +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
Michael Stapelberg
93fe6457b3 dnsd: serve DNS on tcp/53 as well (DNS must work over TCP)
fixes #59
2020-09-12 19:21:58 +02:00
lordwelch
a34a03e036 Update gokrazy v0.0.14 2020-09-02 00:04:04 -07:00
lordwelch
68105841c6 Fallback to DHCPDISCOVER after 4 failed timeouts v0.0.13 2020-09-01 22:16:14 -07:00
lordwelch
1789f1e94c Replace gokrazy v0.0.12 2020-08-22 10:53:05 -07:00
lordwelch
55ac682d36 Fix flag.parse v0.0.11 2020-08-17 23:13:26 -07:00
lordwelch
5f01503df6 Use the correct NTP dhcp4 option v0.0.10 2020-08-16 18:19:34 -07:00
lordwelch
ce29a6f436 fix ip length v0.0.9 2020-08-10 22:05:40 -07:00
lordwelch
04ee69ce02 go mod tidy
Update deps
v0.0.8 v0.0.7
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
ee17db29b6 GitHub actions: also exit early if gofmt reports syntax errors 2020-08-01 09:46:19 +02:00
Michael Stapelberg
5573c4dde7 GitHub actions: fix gofmt check 2020-08-01 09:28:02 +02:00
Michael Stapelberg
cf1e1dd480 re-generate website to pick up previous commit 2020-07-06 09:50:52 +02:00
CodeZombieCH
30b160ee55
website: added configuration section (#55)
Added configuration section to the installation page, including
examples of configuration files.
2020-07-06 09:50:37 +02:00
Michael Stapelberg
f86e20be53 dhcp6: port dhcp4 backoff logic 2020-07-02 22:07:26 +02: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
281f876834 integration/netconfig: verify wg(8) is available
The kernel used on GitHub actions now allows creating wireguard interfaces
apparently.
2020-07-02 21:14:35 +02:00
Michael Stapelberg
8c1b3676ab gokr-packer invocations: set empty -eeprom_package=
We don’t need Raspberry Pi 4 EEPROM files on router7 on amd64,
and this makes the build easier.

fixes #54
2020-07-02 21:06:22 +02:00
Michael Stapelberg
dff392e558 website: bundle assets for faster loading/privacy 2020-06-21 10:06:18 +02:00
Michael Stapelberg
876a3308d2 style tables with bootstrap table styles
as per https://willschenk.com/articles/2020/styling_tables_with_hugo/
2020-06-21 09:52:38 +02:00
Michael Stapelberg
cb95bb6df8 move README into (hugo-powered) website router7.org 2020-06-21 09:43:13 +02:00
Michael Stapelberg
1250211381 github actions: try caching the module cache 2020-06-16 23:41:21 +02:00
Michael Stapelberg
9c7e626f7d switch from travis to GitHub actions 2020-06-16 23:22:34 +02:00
Michael Stapelberg
b090fa2924 qemu: enable i6300esb watchdog device
For the corresponding kernel change, see:
0f4dcc4a87
2020-06-16 23:09:35 +02:00
Michael Stapelberg
1fd5468bab first start of a qemu target 2020-06-04 09:59:24 +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
f1e4ee0662 dyndns: don’t crashloop when config does not exist
related to #46
2020-05-28 09:46:37 +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
Michael Stapelberg
d81b77a876
Merge pull request #44 from mdlayher/mdl-staticcheck
*: apply staticcheck fixes
2020-05-09 23:07:34 +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
988aa405be
cmd/dhcp4d: make use of unused assignment
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:58:57 -04:00
Matt Layher
f87891a74b
integration/radvd: panic in goroutine instead of fatal
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2020-05-09 16:56:51 -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