Commit Graph

113 Commits

Author SHA1 Message Date
Tim Wilkinson 976c3ec1e1
Improve initial node setup (#1590)
* Improve the initial nrvam setup

* More fallbacks

* Rebuild the initial setup and upgrade of a node.
This is mostly about removing duplicated effort and data, which should
make it easier to add things in the future.

* Re-setup and repair the node on each reboot.
By running this every time we reboot, we have a chance to repair problems in the configuration
automatically. We can detect changes and force a reboot only when necessary.

* Improve startup and upgrade

* Remove debug delays

* Move after telnet (for emergency access)

* Ignore ubootenv file when diffing
2024-10-08 21:08:01 -07:00
Tim Wilkinson 4f5771610e
Fix firewall restart when lan-to-wan changed (#1606) 2024-10-08 20:58:42 -07:00
Tim Wilkinson 752dfc514b
Improve and simplify WAN config (#1539)
* Simplify WAN enable/disable

* Improve
2024-09-18 19:31:05 -07:00
Tim Wilkinson 4eb715c722
Fix handling of deleteme items when generating network configs (#1533) 2024-09-17 18:40:48 -07:00
Tim Wilkinson ab4e314abd
Fixup the supernode start address (no longer done in UI) (#1490) 2024-09-11 23:14:26 -07:00
Tim Wilkinson f616777111
Fix NTP problems. (#1457)
Bug: Changing the NTP setting in the new UI did nothing. Now it does.
Feature: Add 'continually' mode which is traditional always running NTP.
 Dont use on nodes with limited RAM.
2024-09-03 15:53:33 -07:00
Tim Wilkinson 31c4d7d801
Fix poe 2 (#1402)
* Fix syntax error

* Fix syntax error
2024-08-25 17:18:03 -07:00
Tim Wilkinson ebe5cd0586
Fix enabling/disabling POE and USB power (#1399) 2024-08-25 16:35:02 -07:00
Tim Wilkinson 3a0bbe0c3b
Add Wifi Client status info (#1362) 2024-08-22 13:40:29 -07:00
Tim Wilkinson 3ca3ed4a79
Restart LQM when changing channel (#1318)
* Restart LQM if we change wifi channel

* Fix test
2024-08-18 23:21:10 -07:00
Tim Wilkinson 0432bf3165
New UI (#1263)
* New UI

* Fix gzip filename race condition

* Fix scrolling on first use page
2024-08-15 20:28:45 -07:00
Tim Wilkinson 8d4eadee53
Rebuild the NAT version of the firewall (#1243)
* New fireware configuration for NATed LAN.

* Fix ip rule
2024-06-17 15:24:57 -07:00
Tim Wilkinson c0d38a4e89
Update registered trademarks (#1225) 2024-05-29 00:45:25 -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
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 d4cfe9e9f2
Fix restarting firewall when wan telnet/ssh/web access changes (#1183) 2024-04-28 11:01:47 -07:00
Tim Wilkinson 8e751dcb62
Half the OLSR maintenance traffic (#1130) 2024-03-27 17:01:00 -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 f3de5785a0
Validate network override configs (#1085)
* Validate network override configs

* Extra vlans
2024-01-30 13:25:37 -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 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 e486a61cc8
Wireguard support - take 2. (#1056) 2024-01-07 16:17:52 -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 2fe3904f0a
Accidenally created the wireguard devices twice (#1036) 2023-12-19 16:13:26 -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 18e17abf97
Fix services and xlinks (#1017) 2023-12-13 22:49:28 -08:00
Tim Wilkinson 4b29cd252d
Remove fixed tunnel limits (#1014)
* Remove need to predefine max number of tunnels

* Improve wireguard device creation
2023-12-13 13:59:54 -08:00
Tim Wilkinson 99a12238c1
Fix server vtun numbering (#1013) 2023-12-12 23:57:36 -08:00
Tim Wilkinson 188719c321
Reduce tunnels in olsrd to minimum (#1012)
Had attempt to optimize restarting olsrd by putting more tunnel devices
in the config file by default. Unfortunately, olsrd can't cope with too
many and performs poorly.
2023-12-12 23:26:27 -08:00
Tim Wilkinson 4120914a60
Improve node setup (#996)
* Reworking the node-setup system - less reboots when changing configuration

* Add restart-services to advnet
2023-12-12 20:01:23 -08:00
Tim Wilkinson 09ed681311
Support remote syslogging (#971) 2023-12-06 12:19:18 -08:00
Tim Wilkinson 205f6e4ad8
Increase Supernode pollrate (#984)
* Bump the OLSR poll rate on supernodes
2023-12-06 12:14:17 -08:00
Tim Wilkinson 927bdd1c8f
dd-wrt ubiquiti firmware (#973)
* Enable dd-wrt firmware for Ubiquiti devices

* Dont include the wifi monitoring interface by default
We dont use it for anything

* Remove package which clashes with new firmware

* Disable chatty warning message

* Missed patch
2023-12-06 11:59:47 -08:00
Tim Wilkinson bf3aa67f78
Wireguard tunnel support (#968)
* Wireguard tunnel support

* Fix wireguard firewall rules

* Add Wireguard tunnels to LQM

* Filter vlans on main bridge

* If you paste a tunnel config into any field, it will auto-populate all fields correctly

* Fix bad password keyword

* Fix bad feeds change

* Fix bad merge
2023-12-06 11:39:23 -08:00
Tim Wilkinson 475f371bb8
Initial OpenWRT 23.05.0 merge (#963)
* Initial OpenWRT 23.05.0 merge

* Fix get_rfchannels for new iwinfo format

* Fix initial wlan name

* Move patches to 5.15 from 5.10

* Fix flash write problem on Ubiquiti devices

* Use new ssl patch

* Reduce binary sizes

* Have to have hostapd installed now, even on tiny builds

* Simplify device support

* Revert Mikrotik NAND sysupgrade system.
OpenWRT doesnt really support Mikrotik NAND devices after 2019 and the
new support appeared broken. So reverted to the 2022 mechanism which does
work and avoid upgrade problems.

* Fixes for tiny builds

* More tiny shrinking

* Fix newly added firewall rules

* Update permanent packages

* Update permanent packages

* Support for Nanobeam 2AC (2.4GHz) device. 20MHz channels only.

* Update support

* Add GL.iNet B1300

* Add to radios.json

* Update supported devices

* Dont force the LAN DHCP to run

* Revert CURL SSL test

* Fix radio count when there are no radios

* Switch the lan ports on the gl-b1300

* Add support for GL.iNET Beryl MT1300

* Fix visual lat/lon setting bug

* Make the setup "Save Changes" button also save the location data

* Fix location/map system with geo location fallback

* Recolor

* Fix default bandwidth selection

* Support multi-band radios

* Generic mechanism to set compat version to 1.1

* Switch ethernet ports

* 20 MHz channels only

* Update docs

* Add ham channels to Mediatek chips (20MHz only)

* Automatically update the permpkg list when we upgrade

* Fix 10MHz mode for Ubiquiti AC devices

* Fix tiny builds

* Bump the watch timeout for restarting olsrd
olsrd is reliable these days, and very occasionally this
was restarting it unnecessarily
2023-12-06 10:12:11 -08:00
Tim Wilkinson 48ee7595ce
Read supernode status from /etc/config.mesh (#946)
Avoids running this twice after initial supernode change
2023-09-26 20:11:48 -07:00
Tim Wilkinson a494a8c374
Supernode support (#938)
* Supernode option

* Change supernode 10/8 route injection.
Identify supernode in sysinfo.json

* Supernode tunnels use port 5526

* Advertise supernode-ness

* Update DNS if supernodes are available

* Open up supernodes DNS service to incoming mesh requests

* Simply nameserver update

* Support supernodes on hap ac2

* Improve supernode nameserver update reliability

* Rework how supernode nameservers are managed

* Improve supernode dns advertising

* Add super mesh button

* User supernode name not ip in advert

* Less intustive way to identify supernode dns

* Add supernode ignore options
Change supernode enabled -> enable

* Improve DNS updates

* Remove tunnels when switching to/from supernode mode

* Blackhole any unknown routes on the supernode to avoid recursing packets

* Add explicit reverse lookup rule for supernode when available

* Just use dnsmasq changes for both forward and reverse names

* Improve supernode detection
So it doesnt keep writing to flash

* Add reverse tunnel ip lookup to supernode

* enabled => enable

* Supernode tunnels start 172.30

* Remove supernode switch

* Simplify supernode check

* Fix nav test
2023-09-19 20:06:09 -07:00
Tim Wilkinson 11f7fe6731
Support wildcard DNS subdomains (#935)
* Support DNS sub-domains

* Support wildcard domains
2023-09-18 16:47:48 -07:00
Tim Wilkinson 426abfacfd
Fix MTU failure which broken node-setup (#878) 2023-06-22 19:17:43 -05:00
Tim Wilkinson 15c78a4369
Allow MTU on wifi interface to be modified. (#877) 2023-06-21 23:07:21 -05:00
Tim Wilkinson 60a2627989
More multi-radio support (#860)
* Multi-radio: Support different powers for different radios
* Use arrays for powers
* Update APIs to take wifi interface
2023-06-02 18:47:34 -07:00
Tim Wilkinson 4e621baf0b
Support switching mesh radio on multi-radio devices (#847) 2023-05-25 21:27:59 -07:00