Michael Stapelberg
c96c683e43
dns: send NXDOMAIN for non-existant local names
2018-06-23 22:15:35 +02:00
Michael Stapelberg
3886367a32
remove TODOs: the sysctls have reasonable defaults
2018-06-23 20:34:42 +02:00
Michael Stapelberg
bf2c12a69d
netconfigd: export ipv4/ipv6 packet/bytes counters on :8066
2018-06-23 19:56:34 +02:00
Michael Stapelberg
6705108481
add randomd: carries entropy across system restarts
...
As practiced by Debian (and others) and recommended in the urandom(4) manpage:
https://manpages.debian.org/stretch/manpages/urandom.4.en.html#Configuration
2018-06-23 17:46:55 +02:00
Michael Stapelberg
3ba84074c7
dhcp4d: send replies as unicast using raw sockets
...
Preferring unicast over multicast (which hogs a lot of airtime on WiFi networks)
is a best practice.
Some device/access point vendor combinations even seem to entirely eat (some?)
broadcast traffic (sometimes), e.g. my Apple iPhone SE/Ubiquiti UAP-AC-HD, so
that using unicast is required for reliable WiFi.
2018-06-23 17:46:53 +02:00
Michael Stapelberg
301d4c0d00
dhcp4d: always set broadcast flag for DHCPOFFERs
...
We always broadcast them, so we should signal that.
2018-06-22 18:35:23 +02:00
Michael Stapelberg
37bf17e1b7
make binaries cope with Squashfs root
2018-06-22 17:59:23 +02:00
Michael Stapelberg
5e11eae951
fix dhcp4d_test for larger pool
2018-06-19 09:46:29 +02:00
Michael Stapelberg
957e4de03a
no-op: only one branch results in DHCPNAK
2018-06-18 19:29:58 +02:00
Michael Stapelberg
34d494b85c
dhcp4d: increase lease range to cover existing leases
2018-06-18 19:29:42 +02:00
Michael Stapelberg
4b6b5196b0
dns: correctly resolve PTR for hostname
2018-06-18 09:44:46 +02:00
Michael Stapelberg
c743091929
dns: track number of questions and which upstream was used
2018-06-18 09:35:14 +02:00
Michael Stapelberg
24e2d5de00
dnsd: serve prometheus metrics on port 8053
2018-06-18 08:04:56 +02:00
Michael Stapelberg
0e6add220c
notify dyndns from netconfigd, i.e. _after_ applying addresses
2018-06-17 20:44:25 +02:00
Michael Stapelberg
ffc18ec527
diag: display ICMP echo source address (for ff02::2%uplink0)
2018-06-17 20:24:56 +02:00
Michael Stapelberg
7a46d077ee
dhcp4/dhcp6: notify dyndns if present
2018-06-17 19:30:30 +02:00
Michael Stapelberg
bb6b901b90
captured: implement a packet ring buffer
...
So that when you connect with Wireshark, you’ll see the most recent
packets (takes up to 7 MB of RAM).
2018-06-17 17:47:26 +02:00
Michael Stapelberg
2c302d976d
captured: plug goroutine leak from closed SSH connections
2018-06-17 16:49:37 +02:00
Michael Stapelberg
bb563e0798
add captured: sends packets to Wireshark SSH remote capture
...
Just point your wireshark to 10.0.0.1:5022.
2018-06-17 15:19:49 +02:00
Michael Stapelberg
8b85084429
dhcp4: persist DHCPACK to renew existing lease after reboot
2018-06-15 17:30:57 +02:00
Michael Stapelberg
4f4f286a43
radvd: better error message
2018-06-15 09:59:01 +02:00
Michael Stapelberg
d2ecb190ac
dhcp4: skip DHCPDISCOVER when renewing
2018-06-15 09:58:51 +02:00
Michael Stapelberg
32dd03c7f2
dhcp4d: copy reqIP, its backing storage gets reused
2018-06-15 09:56:07 +02:00
Michael Stapelberg
48fcf2d0ea
dhcp6: notify radvd when obtaining a lease
...
Otherwise, no networks are announced
2018-06-15 09:28:41 +02:00
Michael Stapelberg
a1c4d60666
netconfig: implement support for port ranges
2018-06-14 22:25:39 +02:00
Michael Stapelberg
390c2af7db
netconfig: implement UDP port forwardings
2018-06-14 21:05:43 +02:00
Michael Stapelberg
93eaab99cb
dns: resolve own hostname, lock for concurrency
2018-06-14 20:42:53 +02:00
Michael Stapelberg
02c7fa7e0d
dns: serve reverse lookup queries for all RFC 1918 reserved networks
2018-06-14 20:24:44 +02:00
Michael Stapelberg
fdd2201ef5
netconfig: prevent duplicate error messages
2018-06-14 18:28:40 +02:00
Michael Stapelberg
03b2345eb2
netconfig: flush nftables ruleset, replace DHCPv6 address
2018-06-14 08:27:08 +02:00
Michael Stapelberg
19aa03bf58
dhcp4: specify previous IP address when renewing
2018-06-13 19:32:20 +02:00
Michael Stapelberg
43e1b2eaae
radvd: also set hop limit to 255 for multicast packets
2018-06-12 09:30:01 +02:00
Michael Stapelberg
589e2ae43d
netconfig: replace routes, not add
2018-06-12 09:29:53 +02:00
Michael Stapelberg
4c69109db5
dhcp4d: implement permanent leases (no expiration)
2018-06-12 08:21:07 +02:00
Michael Stapelberg
d21822f531
dhcp4d: implement loading leases files from persistent storage
2018-06-09 15:18:01 +02:00
Michael Stapelberg
f9c3c23b16
dhcp4d: implement lease expiration
2018-06-09 15:04:54 +02:00
Michael Stapelberg
ea476bbb04
remove accidentally committed router7.test binaries
2018-06-08 16:51:50 +02:00
Michael Stapelberg
c37ddf4f6e
integrationradvd: unflake test
2018-06-08 16:51:33 +02:00
Michael Stapelberg
4baac19e13
radvd: skip advertisments when no prefixes are configured
2018-06-08 16:50:27 +02:00
Michael Stapelberg
6782668f23
integrationnetconfig: deal with whitespace and “dnat to” of older nft(8)
2018-06-08 15:41:33 +02:00
Michael Stapelberg
424d5cc07f
dhcpv4: fail test on temporary errors, too
2018-06-08 15:18:24 +02:00
Michael Stapelberg
3561ec3708
dhcp4d: offer requested address if available
2018-06-07 08:39:47 +02:00
Michael Stapelberg
0152ef3601
netconfig: implement port forwardings
2018-06-05 08:51:51 +02:00
Michael Stapelberg
320ca04a2f
netconfig: use oifname instead of oif
2018-06-05 08:48:30 +02:00
Michael Stapelberg
21ca224281
netconfig: switch from iptables to nft
2018-06-04 10:01:09 +02:00
Michael Stapelberg
1b004597c1
netconfig: implement spoof_hardware_addr for easier testing
2018-06-04 08:30:57 +02:00
Michael Stapelberg
2ef8bf6ea0
dnsd/dhcp4d: listen on configured address (not hard-coded)
2018-06-04 08:22:45 +02:00
Michael Stapelberg
763aa18a74
netconfig: write /etc/resolv.conf
2018-06-04 07:59:25 +02:00
Michael Stapelberg
48ddf81147
netconfig: apply IPv6 address to lan0, not uplink0
2018-06-03 20:35:41 +02:00
Michael Stapelberg
518b9f843c
add the diagnostics daemon
2018-06-03 20:05:13 +02:00