2026-06-09 13:24:26 +02:00
# Access — reaching MakerFLOSS / makerspace hosts
How to get a shell on the hosts we troubleshoot, from each place you might be
working. **Read the section that matches your situation.**
2026-07-17 17:23:18 +02:00
Rewritten 2026-07-17 for the ubongo era (fisi decommissioned, boma ADR-036).
Live-verified facts are dated; everything else is best-known and can drift.
2026-06-09 13:24:26 +02:00
There are two actors:
- **You (sjat)** — at the makerspace with **mamba** (laptop), or elsewhere.
2026-07-17 17:23:18 +02:00
- **Claude** — lives on **ubongo** (homelab control node, `10.20.10.151` ) and
must *tunnel in* to help at the makerspace. fisi is gone; anything that
says fisi is stale.
2026-06-09 13:24:26 +02:00
---
## The hosts and where they live
| Host | Address | SSH | Where it sits | Notes |
|------|---------|-----|---------------|-------|
2026-07-17 17:23:18 +02:00
| **makerfloss VPS** | `88.99.32.236` / `makerfloss.eu` | `:7576` | Public (Hetzner) | Public entrypoint + bastion. Forgejo on `:7577` . `wg1` hub `10.13.0.1` (UDP `51820` ). Netbird control plane `nb.makerfloss.eu` (**legacy — kept for now**, see §D). |
| **srv07** (ex-mf04) | wg1 ** `10.13.0.3` ** (canonical); rack LAN `10.0.0.183` (DHCP) | `:7576` | Makerspace rack (rack01, shf02/1) | Testmachine, Debian 13. Renamed mf04 → srv07 on 2026-07-17 (matches sticker). wg unit `wg-quick@mf-srv07` auto-dials the VPS on boot. |
| **mf01** (docs: srv02) | wg1 `10.13.0.8` ; rack LAN `10.0.0.223` (DHCP) | `:7576` | Makerspace rack | Docker/dev host, publishes `*.mf01.makerfloss.eu` via the VPS. OS hostname still `mf01` . |
| **makerfloss1** | recorded `172.17.3.51` | `:7576` | OrangeMakers LAN? | **Did not answer 2026-07-17** (LAN or wg1 `.2` ). Status unknown — verify on-site before relying on it. |
| **flossfw** | wg1 `10.13.0.9` ; likely the rack gateway `10.0.0.1` | `:22` | Makerspace rack | TaPPaaS FLOSSFirewall (FreeBSD). wg1 peer down 2026-07-17. See `runbooks/` for peer-key swap on operator onboarding. |
| **crs310-maker** (switch) | mgmt `192.168.88.1` | `:22` | Makerspace rack (sw01) | Mgmt VLAN reachable only from the mgmt port (sw01 p8, patched out via pp01:3, currently non-active). Rack re-cabling means the switch runbook may be stale — verify on-site. |
| **mamba** (laptop) | LAN-dependent | `:7576` | Roams | boma wg spoke ** `10.99.0.10` ** (how Claude reaches it anywhere); makerfloss `wg1` roaming peer `10.13.0.5` (profile dormant, hub still has the peer); Netbird peer (legacy). |
The rack LAN is `10.0.0.0/24` (gw `.1` ). Also seen there 2026-07-17: a trio of
fresh Debian 13 boxes at `.10/.11/.12` (ssh `:22` , unidentified — likely
TaPPaaS cluster nodes) and unidentified ssh hosts at `.158/.165/.209` .
2026-06-09 13:24:26 +02:00
---
2026-07-17 17:23:18 +02:00
## A. You're at the makerspace with mamba
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
**Plug in the cable.** Wired, mamba lands on the rack LAN (`10.0.0.0/24` ).
The wifi (`172.17.3.0/24` , OrangeMakers house LAN) does **not** route to the
rack LAN (verified 2026-07-17) — wifi-only is not enough.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
```bash
ssh -p 7576 sjat@10 .0.0.183 # srv07 by its current DHCP lease
ssh -p 7576 sjat@10 .0.0.223 # mf01
```
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
The leases are DHCP and can drift; the wg1 addresses (§B) are the stable
names. If a box doesn't answer, check the physical layer first — srv07 was
dark for weeks because its patch-panel run lost its rear patch (see
`incidents/2026-07-17-srv07-access.md` ).
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
## B. You're roaming (anywhere with internet)
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
Single hop via the VPS bastion — works with your normal key, nothing to
bring up first:
2026-06-09 13:24:26 +02:00
```bash
2026-07-17 17:23:18 +02:00
ssh -J sjat@makerfloss .eu:7576 -p 7576 sjat@10 .13.0.3 # srv07
ssh -J sjat@makerfloss .eu:7576 -p 7576 sjat@10 .13.0.8 # mf01
2026-06-09 13:24:26 +02:00
```
2026-07-17 17:23:18 +02:00
This rides each box's own always-on `wg1` tunnel to the VPS, so it survives
makerspace LAN renumbering. Verified end-to-end 2026-07-17.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
Alternative: bring up mamba's own `wg1` roaming profile (`10.13.0.5` , config
hand-deployed on mamba) and reach `10.13.0.x` directly without the jump. The
hub still carries the peer; the profile has simply not been up lately.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
## C. Claude tunneling in from ubongo
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
Ordered by preference under the **isolation rule** (§E). ubongo has **no
Netbird agent** (removed estate-wide, boma ADR-036) — the old fisi/Netbird
path is gone.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
### C1. VPS bastion (primary)
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
Same as §B: ubongo only ever talks to the public VPS, which hops onward over
`wg1` . No makerspace network ever exists on ubongo.
2026-06-09 13:24:26 +02:00
```bash
2026-07-17 17:23:18 +02:00
ssh -J sjat@makerfloss .eu:7576 -p 7576 sjat@10 .13.0.3 # srv07
2026-06-09 13:24:26 +02:00
```
2026-07-17 17:23:18 +02:00
First use on a fresh control node: accept/pin `makerfloss.eu` 's host key.
2026-06-09 13:24:26 +02:00
2026-08-16 06:16:45 +02:00
Key state (2026-08-16): ubongo's `claude` key (`~/.ssh/id_ed25519.pub` ,
`claude@ubongo` ) is appended to `~sjat/.ssh/authorized_keys` on **both the VPS
and mf01** — done by hand via mamba, *not* via the users catalog in
`AnsibleBaobabV4/group_vars/all/50-users_catalog.yml` , which still lists only
the mamba + phone keys. A users-play run against those hosts will drop it again
unless the catalog is updated first (TODO). Verified working end-to-end from
ubongo the same day.
2026-07-17 17:23:18 +02:00
### C2. Via mamba (when mamba is at the makerspace)
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
ubongo reaches mamba anywhere over the **boma wg hub** (`ssh mamba` =
`10.99.0.10:7576` , pinned in the boma-managed ssh config). If mamba is wired
at the makerspace, hop onward to the rack LAN:
2026-06-09 13:24:26 +02:00
```bash
2026-07-17 17:23:18 +02:00
ssh -o ProxyJump=mamba -p 7576 sjat@10 .0.0.183 # srv07 via mamba
2026-06-09 13:24:26 +02:00
```
2026-07-17 17:23:18 +02:00
Useful when the VPS or a box's wg1 tunnel is down but the LAN is up (this is
how srv07 was found and fixed on 2026-07-17). Breaks when mamba leaves.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
### Choosing
2026-06-09 13:24:26 +02:00
| Need | Use |
|------|-----|
2026-07-17 17:23:18 +02:00
| Reach srv07/mf01/VPS services, any time | **C1** (bastion) |
| Box's wg1 is down / raw LAN work, mamba on-site | **C2** (via mamba) |
| The switch mgmt plane | Neither directly — needs a host on the mgmt port; see the switch runbook and verify the post-recabling mgmt path on-site. |
2026-06-09 13:24:26 +02:00
---
2026-07-17 17:23:18 +02:00
## D. Netbird (legacy — kept, not used for access)
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
The self-hosted control plane `nb.makerfloss.eu` still runs on the VPS, and
srv07's agent is still enrolled (`100.99.133.190` ). It is **no longer an
access path**: fisi (the only Claude-side peer) is decommissioned, ubongo is
deliberately not enrolled (isolation + boma ADR-036 doctrine: static
WireGuard, config-as-code, no coordinator). Operator decision 2026-07-17:
keep it running for now; do **not** enroll new peers for management access.
Retirement is the eventual direction — that decision is logged, not taken.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
## E. Isolation rule (unchanged, important)
> **Keep the makerspace and the homelab apart.** ubongo must not hold a
> standing tunnel into the makerspace and must not join makerspace overlays
> (wg1, Netbird). The bastion path (C1) puts no makerspace network on ubongo
> at all; the mamba path (C2) rides boma's own hub and ends at mamba. The
> concern is preventing any compromise at the makerspace from reaching the
> homelab.
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
## F. Secrets & credentials (where they live — not stored here)
2026-06-09 13:24:26 +02:00
2026-07-17 17:23:18 +02:00
- **Ansible vault (baobab/prod):** `~/.ansible/vault-keys/prod.txt` (present
on ubongo); secrets in `AnsibleBaobabV4/group_vars/all/90-secrets.vault.yml` .
WG/Netbird/service secrets are `vault_*` keys there
(`vault_wireguard_makerfloss_peers.*` — srv07's keypair is still under the
historical name `mf04` ).
2026-06-09 13:24:26 +02:00
- **Ansible vault (switch):** identity `makerfloss` ,
`~/.ansible/vault-keys/makerfloss.txt` ; switch admin password in
`MakerFLOSS_Mikrotik/group_vars/mikrotik.vault.yml` .
- **SSH:** operator key `~/.ssh/id_ed25519` ; project-wide SSH port is **7576**
2026-07-17 17:23:18 +02:00
(switch SSH `:22` , flossfw `:22` , Forgejo git `:7577` ).
2026-06-09 13:24:26 +02:00
Never commit secrets to this repo.