Commit graph

27 commits

Author SHA1 Message Date
Daniel Micay
35ca9a2a19 allow server TCP Fast Open and rotate the keys
This needs to be configured by specific services to have any effect. For
now, we're only enabling it for the PowerDNS Authoritative Server and
dnsdist since it's recommended by RFC 9210 and actively used by various
recursive resolver servers when falling back to TCP. TCP Fast Open is
rarely used from end user devices due to it enabling tracking and having
issues with middleboxes. We aren't going to start using it anywhere in
GrapheneOS but may have more server-side uses for it. This functionality
is built into QUIC without the same downsides but QUIC support in the
software we use is not ready for us to enable it, especially the very
primitive support in nginx.

For most servers, a new random TCP Fast Open key is created on a daily
basis and the previous key continues to be accepted. For DNS servers,
the new key is generated via a keyed hash of the current date in order
to keep it consistent across servers providing an anycast IP without it
needing regular synchronization.
2025-09-15 21:10:39 -04:00
Daniel Micay
46fe2fd36c add CAP_CHOWN to certbot-renew.service for dnsdist 2025-09-05 02:06:01 -04:00
Daniel Micay
ca22d4a0a3 enable adaptive-rx on ReliableSite update servers
This is fully supported by the Broadcom NIC used for both servers but
not enabled by default. It's already enabled by default for the Intel
NIC used by the Macarne update server.
2025-09-04 16:48:17 -04:00
Daniel Micay
ece7064674 raise NIC channels to number of threads
1.releases.grapheneos.org and 2.releases.grapheneos.org were ending up
with only 6 channels by default despite the hardware being capable of
far more. This raises it to match the 24 CPU threads.

0.releases.grapheneos.org is already using 32 channels by default which
matches the 32 CPU threads.
2025-09-04 01:00:22 -04:00
Daniel Micay
e9fda8e7a1 map packet priority 4 to the high priority fq band 2025-09-01 19:35:49 -04:00
Daniel Micay
adf8269ac2 switch CAKE to diffserv4 now that DSCP marks are correct 2025-09-01 19:35:49 -04:00
Daniel Micay
f3ae87143f set handle for CAKE 2025-08-28 20:06:46 -04:00
Daniel Micay
124dd54ef5 more frequent rotation for shorter log retention 2025-08-17 03:17:51 -04:00
Daniel Micay
274b5d60cb disable automatic xfs_fsr.service for now 2025-08-07 19:04:08 -04:00
Daniel Micay
785ad04bbf rename update servers 2025-08-03 21:45:34 -04:00
Daniel Micay
04100dca2c use no-split-gso for CAKE across the board
Based on the CAKE statistics during load testing, the latency benefits
of GSO splitting are minimal for our servers and the increased CPU usage
can increase latency.
2025-07-31 12:18:52 -04:00
Daniel Micay
01bb6a5504 set CAKE flow isolation mode to dual-dsthost
We have no use case for fairness based on source address.
2025-07-30 18:45:03 -04:00
Daniel Micay
b669c4ce61 relax PrivateUsers for certbot-renew.service
This was preventing using the dnsdist group for the nameservers.
2025-07-27 13:08:48 -04:00
Daniel Micay
a1336fba2f switch from CAKE to mq fq_codel for update servers
CAKE was causing a bottleneck due to being single threaded.
2025-07-23 00:26:41 -04:00
Daniel Micay
57a5209d8b integrate dnsdist in session ticket keys management 2025-05-27 15:40:54 -04:00
Daniel Micay
94a2567b15 add tls group for session ticket keys 2025-05-27 15:40:52 -04:00
Daniel Micay
44f6e6021a make session ticket management more generic 2025-05-27 14:23:23 -04:00
Daniel Micay
f9f3cdab05 add 1.ns1.grapheneos.org server 2025-05-08 22:26:56 -04:00
Daniel Micay
7095105832 add 3.ns1.grapheneos.org server 2025-05-08 22:26:56 -04:00
Daniel Micay
90a7780b5e migrate to new tlsserver Let's Encrypt profile
We can no longer use OCSP stapling and Must-Staple. These will soon be
obsolete once the `shortlived` profile is available for public use since
it will provide certificates with a similar lifetime as OCSP responses.

In the meantime, we've moved to the `tlsserver` profile stripping legacy
features to prepare for the `shortlived` profile which will be identical
to `tlsserver` but with a validity period of 6 days.

The certificate for SUPL is still temporarily using the classic profile
to work around the older generations of end-of-life Snapdragon Pixels
not having support for SNI. We can eventually drop support for these
devices from the SUPL service to allow us to disable TLSv1.1, DHE and
move to the `tlsserver` or `shortlived` profile.

The certificate for SMTP is still temporarily using the classic profile
to avoid potential compatibility issues with servers supporting TLSv1.2
but still not yet supporting SNI.
2025-05-08 22:26:43 -04:00
Daniel Micay
c7cb5d025e add 2.ns1.grapheneos.org server 2025-05-04 16:01:04 -04:00
Daniel Micay
566f1a10d2 rename ns1.grapheneos.org to 0.ns1.grapheneos.org 2025-05-03 18:13:18 -04:00
Daniel Micay
7861ef2c30 remove legacy OVH update servers 2025-04-30 23:27:40 -04:00
Daniel Micay
9290c1fd90 add new ReliableSite update servers 2025-04-24 01:15:39 -04:00
Daniel Micay
687fd3ddc5 drop unused DHCP configuration for 4.releases.grapheneos.org 2025-04-23 21:07:05 -04:00
Daniel Micay
250d813c56 add IPv4 gateway route for 4.releases.grapheneos.org 2025-04-23 21:07:05 -04:00
Daniel Micay
1f4d7316b8 reorganize configurations into etc directory 2025-04-15 12:53:49 -04:00