doc: FTTH migration — gateway is now 192.168.0.1

The Archer C7 at .2 is gone; the FTTH box at .1 is the gateway. Every
static holdout (nas host, nuc host, privoxy, transmission-bt) pointed at
the dead .2 and had no internet — the reported symptom was privoxy.

Also record two things the migration broke that were not obvious:

- DHCP reservations did not carry over. blocky held .254 by reservation
  on the C7; a lease renew on the FTTH box moved it and took LAN DNS
  down. It is static now. jellyfin-* are still DHCP on stale leases.
- The FTTH box advertises native IPv6. transmission-bt's tunnel is
  AllowedIPs = 0.0.0.0/0, so v6 egressed around the kill switch on the
  home address. IPv6 is now disabled in that container.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Julien Lutran
2026-09-16 10:08:42 +02:00
co-authored by Claude Opus 5
parent a5f63c7095
commit a7f1ac691e
4 changed files with 36 additions and 17 deletions
+2 -2
View File
@@ -33,8 +33,8 @@ Storage + backup host on the LAN, added 2026-08.
| Name | IP | Doc | Features |
|---|---|---|---|
| blocky | 192.168.0.254 | — | unprivileged, autostart; DNS ad-blocker for the LAN. Moved from nuc 2026-08-30 so it survives nuc being powered off |
| privoxy | 192.168.0.11 | — | unprivileged, autostart; filtering HTTP proxy, listens on **:3128** (not privoxy's default 8118); static config in `/etc/systemd/network/eth0.network`, `DNS=192.168.0.254`. Moved from nuc 2026-08-30 |
| [transmission-bt](transmission-bt.md) | 192.168.0.7 | ✅ | unprivileged, autostart; always-on WireGuard full tunnel → ks4 (egress = 193.70.35.17, kill switch: no default route); `/export/media` disk device (`shift=true`), downloads to `/media/downloads`; web UI :9091 (LAN only). Moved from nuc 2026-08-30 |
| privoxy | 192.168.0.11 | — | unprivileged, autostart; filtering HTTP proxy, listens on **:3128** (not privoxy's default 8118); static config in `/etc/systemd/network/eth0.network` (`Gateway=192.168.0.1`), `DNS=192.168.0.254`. Moved from nuc 2026-08-30 |
| [transmission-bt](transmission-bt.md) | 192.168.0.7 | ✅ | unprivileged, autostart; always-on WireGuard full tunnel → ks4 (egress = 193.70.35.17, kill switch: no default route in `main`, wg-quick's `fwmark`/`suppress_prefixlength` rules send traffic to table 51820 — **`netplan apply` wipes those rules, so always `systemctl restart wg-quick@wg0` after it**); **IPv6 disabled** (`/etc/sysctl.d/99-no-ipv6.conf`) since the tunnel is `AllowedIPs = 0.0.0.0/0` only and the FTTH box's native IPv6 RA bypassed the kill switch entirely; `/export/media` disk device (`shift=true`), downloads to `/media/downloads`; web UI :9091 (LAN only). Moved from nuc 2026-08-30 |
## Backup pools hosted here
+3 -3
View File
@@ -324,11 +324,11 @@ allow-hotplug enp0s20f0
iface enp0s20f0 inet static
address 192.168.0.4
netmask 255.255.255.0
gateway 192.168.0.2
gateway 192.168.0.1
dns-nameservers 1.1.1.1 9.9.9.9
```
(Gateway is **`192.168.0.2`** — `.1` is gone since 2026-08. The host
(Gateway is **`192.168.0.1`** — the FTTH box, since 2026-09. The host
uses public resolvers, never blocky, to avoid a bootstrap loop.
Interface name is a guess until the board is up — check `ip -br link`.)
@@ -527,7 +527,7 @@ Its WireGuard tunnel is **entirely inside the container** (`wg0`,
`10.8.0.21`, `wg-quick@wg0`, `BindsTo=` on the daemon), so the container
carries its own keys and **ks4 needs no change at all** — the peer stays
`10.8.0.21/32`. The kill-switch `/32` route points at the gateway
`192.168.0.2`, which is the same from here.
`192.168.0.1`, which is the same from here.
```sh
# on nuc — remote already added in §9a
+3 -3
View File
@@ -66,17 +66,17 @@ network:
addresses: [192.168.0.254]
routes:
- to: 193.70.35.17/32
via: 192.168.0.2
via: 192.168.0.1
EOF
chmod 600 /etc/netplan/10-lxc.yaml
netplan apply'
# packages need a temporary default route (removed right after)
incus exec "$CNAME" -- ip route add default via 192.168.0.2
incus exec "$CNAME" -- ip route add default via 192.168.0.1
incus exec "$CNAME" -- apt-get update
incus exec "$CNAME" -- apt-get install -y --no-install-recommends \
transmission-daemon wireguard-tools iptables curl
incus exec "$CNAME" -- ip route del default via 192.168.0.2
incus exec "$CNAME" -- ip route del default via 192.168.0.1
# WireGuard full tunnel (generate key, print pubkey for the ks4 side)
incus exec "$CNAME" -- bash -c 'umask 077
+28 -9
View File
@@ -12,7 +12,7 @@ How to rebuild the Incus host from scratch if `/dev/sda` (512 GB SSD,
`usb4t/media``/srv/media` (media library)
- USB: Pioneer USB audio (`08e4:0176`), Logitech Unifying receiver (K400),
CSCTEK USB Audio and HID
- NIC: `enp1s0` (static `192.168.0.3/24`, gw `192.168.0.2`)
- NIC: `enp1s0` (static `192.168.0.3/24`, gw `192.168.0.1`)
## ⚠️ What dies with sda
@@ -87,7 +87,7 @@ allow-hotplug enp1s0
iface enp1s0 inet static
address 192.168.0.3
netmask 255.255.255.0
gateway 192.168.0.2
gateway 192.168.0.1
dns-nameservers 1.1.1.1 9.9.9.9
```
@@ -165,13 +165,32 @@ hosts reach them normally. (So test a container's LAN service from inside
the container or from an external LAN host — never by pinging its IP from
the nuc or a sibling container; that always fails by design.)
LAN gateway note: the router/gateway is **`192.168.0.2`** (migrated from
`192.168.0.1`, 2026-08 `.1` is gone). DHCP-configured instances pick the
new gateway up automatically; **statically-configured ones must be updated
by hand.** Current static holdouts: privoxy
(`/etc/systemd/network/eth0.network`, `Gateway=`) and transmission-bt
(netplan `routes: via:` + the WG kill-switch `/32`). Symptom of a missed
one: the service is up and its port answers, but nothing it fetches works.
LAN gateway note: the router/gateway is **`192.168.0.1`** — the FTTH box,
since 2026-09 (it was `.2`, the Archer C7, from 2026-08; and `.1` before
that). **Every statically-configured host and instance must be updated by
hand**, and DHCP ones need a lease renew before they stop using the cached
old gateway. Symptom of a missed one: the service is up and its port
answers, but nothing it fetches works.
Static holdouts to update on any gateway change — the full list, verified
2026-09-16:
| Where | What to change |
|---|---|
| nas host | `/etc/network/interfaces`, `gateway` |
| nuc host | `/etc/network/interfaces`, `gateway` |
| blocky | `/etc/systemd/network/eth0.network`, `Gateway=` (static since 2026-09, see below) |
| privoxy | `/etc/systemd/network/eth0.network`, `Gateway=` |
| transmission-bt | netplan `routes: via:` (the WG kill-switch `/32`) |
| jellyfin-server/-client | DHCP — renew the lease, or they keep the old gateway |
⚠️ **DHCP reservations did not survive the FTTH migration.** blocky held
`192.168.0.254` via a reservation on the Archer C7; renewing its lease on
the FTTH box handed it a random address and took LAN DNS down with it. It
is now **statically configured** so it cannot move. `jellyfin-server`
(`.5`) and `jellyfin-client` (`.6`) are still DHCP with stale leases — set
reservations on the FTTH box or make them static before those leases
expire.
Let `julien` run harmless incus commands (list/info/config/show…)
without a password — mutating ones (`exec`, `start/stop`, `delete`)