Commit Graph

428 Commits

Author SHA1 Message Date
Tim Wilkinson d6a652df31
Wireless monitoring improvements (#1222)
* Wireless monitor runs an emergeny wifi scan at 3am to recover forgotten nodes.
LQM no longer tries to ping stations which have disconnected.
2024-05-26 23:31:54 -07:00
Tim Wilkinson 2f1684a218
Rework the firewall for tunnels and xlinks to allow port forwarding. (#1220) 2024-05-26 16:41:18 -07:00
Tim Wilkinson 78fb72b917
Use increase in SNR to unblock quality block (#1218) 2024-05-25 16:51:37 -07:00
Tim Wilkinson ed422f3550
Better leaf node detection (#1214)
* Better leaf node detection

* Only count leafs what would be blocked
2024-05-22 19:46:41 -07:00
Tim Wilkinson fbaa54bb23
Avoid cutting off leaf nodes (#1211)
* Avoid cutting off leaf nodes

* Use OLSR broadcast with pending nodes
2024-05-21 21:02:58 -07:00
Tim Wilkinson 5069f0e480
Improve LQM interface detection (#1207) 2024-05-15 18:39:55 -07:00
Tim Wilkinson 250db5605f
Fix busy wait when tick == 0 (#1206) 2024-05-15 18:09:07 -07:00
Tim Wilkinson 146aebd881
Remove nodes if they've had a quality of 0 for an hour. (#1204)
They've probably gone, but the ARP cache tends to keep them around so we
can't rely on that timing them out.
2024-05-14 23:09:06 -07:00
Paul K3PGM 650e26667c
Improvements and fixes for Advanced DHCP Options (#1197)
- The "Always" checkbox now works for options with an explicit tag, and
is disabled for untagged options; the latter cannot be supported because
of a limitation in the OpwnWRT configuration language.
- Tagging by host name has been removed; it didn't work before and isn't
particularly useful in the AREDN context.
- Tagging by Agent Circuit ID, Agent Remote ID, and Subscriber-ID are
now supported so that a DHCP Relay Agent can be used to extend the LAN
across multiple subnets.
- Small improvements were made to error handling and hints.
2024-05-14 09:46:25 -07:00
Tim Wilkinson f79a90e816
Fix tunnel statistics (#1200) 2024-05-14 09:13:26 -07:00
Tim Wilkinson 7c4892d23f
More LQM quality tracking improvements. (#1196) 2024-05-12 22:10:53 -07:00
Tim Wilkinson 2454accbb5
Fix various status information errors (#1195)
* Fix various status information errors

* Fix whitespace
2024-05-12 14:53:37 -07:00
Tim Wilkinson 8bb01e0501
LQM improvements. (#1193)
Matched with changes in aredn_packages
2024-05-11 23:03:29 -07:00
Tim Wilkinson 4b13d5969f
Move manager logs into syslog (#1190) 2024-05-05 23:11:57 -07:00
Steve 76e0333968
fix extra curly brace (#1186) 2024-04-29 18:34:42 -07:00
Tim Wilkinson d4cfe9e9f2
Fix restarting firewall when wan telnet/ssh/web access changes (#1183) 2024-04-28 11:01:47 -07:00
Tim Wilkinson d8b85d5b4a
Fix library requires (#1147)
* Another attempt to stop the mesh page from being truncated sometimes

* Fix originator

* Fix the require(...) libraries
2024-04-01 22:15:45 -07:00
Tim Wilkinson a97c1c277a
Use arpping to monitor poor arp-able links (#1134) 2024-03-28 23:01:48 -07:00
Tim Wilkinson f75e4d9675
Increase wifi retries by default. (#1129)
Experimental wifi research reports that increased retries (rather than decreased as I originally
thought) improves tcp throughput on multi-hop wifi networks.
2024-03-27 17:01:14 -07:00
Tim Wilkinson 8e751dcb62
Half the OLSR maintenance traffic (#1130) 2024-03-27 17:01:00 -07:00
Tim Wilkinson 3d1faf8939
Fix DTD and WLAN ips derived from matching MACs. (#1128)
On some devices the hardware MAC for the WLAN and ETH are the
same so the 10.DTD and 10.WLAN addresses are identical. If we
detect this, bump the DTD address.
Commonly seen on TP-Link devices (but there are others)
2024-03-26 22:56:21 -07:00
Tim Wilkinson a14b897e0f
Disable reducing retry counts (#1126) 2024-03-26 16:23:50 -07:00
Tim Wilkinson 2fc76191a0
Set pkt retry to 2 (was 1) for hub nodes. (#1125)
Too many retries appears to cause network congestion issues slowing down
links with multiple hops, but reducing this to 1 then caused single links
to have poor performance. Try a rety of 2 as a better compromise.
2024-03-25 21:08:30 -07:00
Tim Wilkinson 6be1091ffb
Updates to /etc/local/services no longer require reboot (#1119) 2024-03-24 23:10:42 -07:00
Tim Wilkinson 5c633f2b8e
Support CIDR (e.g. /24, /16, etc) on a xlink (#1110)
* Revert hAP AC Lite xlink support

* Support CIDR (e.g. /24, /16, etc) on a xlink
Xlink had originally been envisaged as a point-to-point connection
leaving the "how" of that to other software. However, there's a use case
where the non-AREDN radios in the xlink need to be accessed, and allocating
addresses within the xlink's address range is a good way to do that.
By supporting a a subnet on a xlink we can enable this.
2024-03-04 21:08:27 -08:00
Tim Wilkinson 4ff44c2b21
Run the wireguard watchdog script every 5 minutes (#1102)
This fixes up wireguard connections to dynamically changing IP addresses
2024-02-23 23:02:45 -08:00
Tim Wilkinson f3de5785a0
Validate network override configs (#1085)
* Validate network override configs

* Extra vlans
2024-01-30 13:25:37 -08:00
Tim Wilkinson f3d49eab64
Hide long time idle neighbors (#1082)
* Dont show neighbor we can't resolve or route to

* Hide neighbor which have been non-routable for over an hour
2024-01-23 00:13:01 -08:00
Tim Wilkinson 1c72b145f6
Support for GL.iNet E750 (#1079)
* Support for GL.iNet E750
2024-01-22 20:22:27 -08:00
Paul K3PGM 4e35b2f0c6
First draft of advanced DHCP option specification on Ports tab. (#1073)
* First draft of advanced DHCP option specification on Ports tab.

Allows the node administrator to specify additional DHCP options that
will be supplied to LAN clients in specific circumstances. This change
adds two tables to the Ports configuration tab.

The "Tags for Advanced DHCP Options" table allows the administrator to
specify DHCP tags that will be assigned to clients that identify
themselves with specific values for properties such as Vendor Class or
MAC address.

The "Advanced DHCP Options" table allows the administrator to specify
arbitrary DHCP options to send to any client, or only to clients with a
specific tag. Option numbers can be entered directly or chosen from a
list of well-known options. Option values are manually entered by the
administrator.

In-browser validation is implemented for all input fields with easily
recognizable content such as host names, MAC addresses, and port and
option numbers. Placeholders are also supplied for input fields, such as
MAC addresses with wildcard matching, that might otherwise be difficult
to describe.

Issues with the current version:
- Sending DHCP options not requested by the client is implemented using
the dhcp_option_force UCI configuration option, but does not currently
work.
- Tagging by client host name is supported by dnsmasq, but not yet by
UCI.
- DHCP option values must be entered manually by the administrator, but
are not currently validated.

* Better validation, placeholders, and hints for existing input fields.

* Remove junk accidentally inserted in comment.

* Preserve Advanced DHCP options across updates.
2024-01-21 17:25:16 -08:00
Tim Wilkinson e83af37894
Label wireguard tunnels in LQM (#1068) 2024-01-17 14:02:20 -08:00
Tim Wilkinson fb0f9a4b56
Update cursors on each lqm iteration. (#1067)
If we dont, and other apps change values in the config files, old
cursors dont see the new values.
2024-01-17 11:43:52 -08:00
Tim Wilkinson ce5521f373
Fixes for remote logging (#1060) 2024-01-11 20:51:25 -08:00
Tim Wilkinson bb83a8d1c9
More wireguard fixes (#1059)
* More wireguard fixes

* Fix monitoring bug when finding tunnel address
2024-01-10 00:02:54 -08:00
Tim Wilkinson f1567d662f
Wireguard2 - bug fixes (#1057)
* Fix _add for wireguard

* Fix LQM for wireguard
2024-01-07 21:44:21 -08:00
Tim Wilkinson e486a61cc8
Wireguard support - take 2. (#1056) 2024-01-07 16:17:52 -08:00
Tim Wilkinson 185d6e0abf
Fix host checking (#1052)
* Fix host checking

* nameserver -> nameservice
2024-01-03 00:45:49 -08:00
Tim Wilkinson 6d8528fa56
Make sure the node nodes we use for tunnels are always uppercase (#1049) 2024-01-01 17:36:18 -08:00
Tim Wilkinson b6dfba160e
Remove need for /etc/config/services file (#1045) 2023-12-27 14:39:17 -08:00
Tim Wilkinson 509d475133
Fix firewall rules. (#1041)
1. Allow wireguard tunnels in iface mesh setup (treat like vtuns)
2. Fix incorrectly setting up dtd/wifi to wan rules
2023-12-21 11:06:15 -08:00
Tim Wilkinson e5bd9bc066
Simply the watchdog by fixing various timeouts. (#1038)
Unfortunately there doesnt appear to be much flexibility in the various
hardware watchdogs on radios, so setting the watchdog > 60 seconds mostly
doesnt work. So rework the settings to allow for this and that our watchdog
tests must be frequent and quick.
2023-12-20 00:25:12 -08:00
Tim Wilkinson 2fe3904f0a
Accidenally created the wireguard devices twice (#1036) 2023-12-19 16:13:26 -08:00
Tim Wilkinson 0899ae7d02
Make watchdog easier to configure and less aggressive (#1034) 2023-12-19 12:07:47 -08:00
Tim Wilkinson bd26116e45
Improve 'wait_for_ticks' handling of system clock changes (#1035) 2023-12-19 12:07:11 -08:00
Tim Wilkinson cd4b99197a
Watchdog support, initial version. (#1030)
* Watchdog support, initial version.
The watchdog monitors three things:
1. A set of important system daemons.
2. A set of pingable ip addresses.
3. A time the node should reboot everyday.
2023-12-18 23:07:52 -08:00
Tim Wilkinson cc5c7cafd0
Make sure switching wifi modes forces a reboot. (#1027)
Because some hardware doesnt handle this well.
2023-12-17 21:14:38 -08:00
Tim Wilkinson 9046357955
Fix wan client no encryption mode (#1023) 2023-12-16 21:26:33 -08:00
Tim Wilkinson 2ba923eaa9
Fix tunnel counts (missing commit) (#1022) 2023-12-16 17:55:18 -08:00
Tim Wilkinson b2fb79d6de
Typo (#1019) 2023-12-13 23:56:38 -08:00
Tim Wilkinson ceb7e973bf
Fix xlink monitoring by lqm (#1018) 2023-12-13 23:34:08 -08:00