Commit graph

35 commits

Author SHA1 Message Date
Daniel Micay
e3bcb9e87f ns2.grapheneos.org: switch to location-based server names 2025-11-21 11:31:48 -05:00
Daniel Micay
93e1d3866b releases.grapheneos.org: switch to location-based server names 2025-11-21 11:31:48 -05:00
Daniel Micay
89686dc1a0 nftables: style fix 2025-11-21 03:46:12 -05:00
Daniel Micay
944b4679c1 merge website and network servers
This provides more redundancy for both services through having 2
instances in each region. The network services have much higher
bandwidth usage and load so this will also delay us needing to obtain
new servers by making better use of the ones we have.
2025-11-03 00:33:30 -05:00
Daniel Micay
a346146625 reorder update servers 2025-11-01 20:04:51 -04:00
Daniel Micay
85c5ccc613 update IP addresses for 0.releases.grapheneos.org 2025-10-28 15:25:16 -04:00
Daniel Micay
048ccb3fba allow powerdns user to query pdns over loopback
This is being used by the pdns-trigger-health-checks script.
2025-10-23 14:11:56 -04:00
Daniel Micay
c6156ebed7 switch from shaped CAKE to FQ for BuyVM servers
These servers originally only had the 1Gbps base bandwidth and shaping
it with CAKE worked well to make the most of it during traffic spikes
for the web servers. It has little value for the nameservers since the
only potentially high throughput service is non-interactive SSH.

These servers now have 10Gbps burst available but are heavily limited by
their single virtual core and unable to use all of it in practice. CAKE
can only provide significant value when it's the bottleneck which isn't
the case when the workload is CPU limited. We don't want to keep around
the artificially low 1Gbps limit and it can't do much more.

Unlike OVH, the practical bottleneck is the CPU and FQ has the lowest
CPU usage in practice due to being very performance-oriented with a FIFO
fast path and offloading TCP pacing from the TCP stack to itself. On the
DNS servers, the fast path is always used in practice. Our OVH servers
have a much lower enforced bandwidth limit and the way they implement it
ruins fairness across flows. We definitely want to stick with CAKE for
our VPS instances on OVH but it doesn't make sense on BuyVM anymore.
2025-09-18 01:26:39 -04:00
Daniel Micay
7d55588972 nftables: preserve connlimit sets across reloads 2025-09-17 19:23:22 -04:00
Daniel Micay
f3156e641d nftables: reorder network server UDP notrack 2025-09-16 18:19:33 -04:00
Daniel Micay
78bd96f4ae nftables: move listening ports to constants 2025-09-16 18:19:31 -04:00
Daniel Micay
5f1b0c886d nftables: replace magic numbers with constants 2025-09-15 21:10:42 -04:00
Daniel Micay
97d650c7ed nftables: use DSCP to assign packets to fq bands 2025-09-01 19:35:49 -04:00
Daniel Micay
676763b8a5 nftables: split out update servers
This will be used for fq-specific configuration.
2025-09-01 19:35:49 -04:00
Daniel Micay
41174c2a08 clean inbound DSCP
This avoids setting outbound DSCP for echo-reply, TCP RST for TCP
sockets in the Time-Wait state and potentially other cases. We don't
want it to be possible for inbound packets to determine our outbound
traffic classification even to a small extent.
2025-09-01 19:35:47 -04:00
Daniel Micay
3d0e2ffb23 expand SSH connection limit allowlist 2025-08-29 10:38:31 -04:00
Daniel Micay
cb01ad4f20 nftables: block IPv6 for forum web server
We used to have this but it was lost during changes to our firewall
rules. We don't have an AAAA record for discuss.grapheneos.org to avoid
IPv6 connections but should also be explicitly blocking it. We're doing
this due to reliance on IP bans for registration to block spammers and
having IPv6 would greatly weaken it even if banning based on /64.
2025-08-28 11:25:11 -04:00
Daniel Micay
0a810fd38f switch SSH IPv6 connection limit to /64 2025-08-23 22:21:27 -04:00
Daniel Micay
b4e1c96d74 nftables: drop obsolete synapse workaround 2025-08-23 21:05:28 -04:00
Daniel Micay
f54010112e switch to Unix socket for synapse 2025-08-22 16:59:05 -04:00
Daniel Micay
247f709df5 nftables: drop obsolete postgres stat collector rules
PostgreSQL 15 removed the UDP-based statistics collector and replaced it
with a shared memory implementation.
2025-08-22 13:14:17 -04:00
Daniel Micay
66d5c7602d nftables: mjolnir no longer connecting directly 2025-08-22 13:04:15 -04:00
Daniel Micay
4bf3955b38 nftables: pdns webserver moved to Unix socket 2025-08-22 12:43:38 -04:00
Daniel Micay
785ad04bbf rename update servers 2025-08-03 21:45:34 -04:00
Daniel Micay
58e107dd97 move zerotier-one to port 999 2025-07-23 00:26:41 -04:00
Daniel Micay
a948b7c244 move dnsdist control socket to port 55
This avoids unnecessary overlap with our ephemeral port range.
2025-07-23 00:26:41 -04:00
Daniel Micay
76b5b554ca nftables: simplify nameserver control socket rules 2025-07-23 00:26:41 -04:00
Daniel Micay
7153fcbc8a scale synproxy threshold based on conntrack max 2025-07-23 00:26:41 -04:00
Daniel Micay
5c41418606 nftables: add support for dnsdist control socket 2025-05-16 13:19:38 -04:00
Daniel Micay
e75172d57c replace nginx with dnsdist for DNS-over-TLS 2025-05-13 21:42:53 -04:00
Daniel Micay
a6d1e00d07 drop SSH connections to new anycast IPs 2025-05-05 17:29:56 -04:00
Daniel Micay
029882f051 set up certificate replication for ns1 replicas 2025-05-05 17:29:54 -04:00
Daniel Micay
2784008a65 nftables: add support for rage4 anycast for ns1 2025-05-03 18:13:20 -04:00
Daniel Micay
9556ca4b79 use 4.releases.grapheneos.org as primary instance 2025-04-25 00:47:28 -04:00
Daniel Micay
1f4d7316b8 reorganize configurations into etc directory 2025-04-15 12:53:49 -04:00