3.4 KiB
sys-fips .fips Browser Access Remediation Plan
Goal
Make .fips hostnames (especially the npub hostname for laantungir.net) resolve and load from the current AppVM browser path.
Confirmed Root Cause
Current AppVM DNS path is returning public-DNS NXDOMAIN for .fips, which means .fips forwarding via sys-fips is not active in the effective network chain.
Success Criteria
- From AppVM, the npub
.fipshostname returns an AAAA answer (not NXDOMAIN). - Browser can open the npub
.fipsURL successfully. sys-fipsis persistently configured so the behavior survives reboot.
Phase 1 — Validate and fix the network chain in dom0
- Ensure target AppVM uses
sys-fipsas netvm (notsys-firewall/sys-whonix/other). - Ensure
sys-fipsitself chains to intended upstream netvm (sys-firewallorsys-vpn). - Restart affected VMs after netvm changes so DHCP/DNS lease state is refreshed.
Reference workflow: README.md
Phase 2 — Bring sys-fips services to healthy state
Inside sys-fips:
- Start/enable FIPS services (
fips,fips-dns). - Ensure FIPS config has DNS enabled on local resolver port 5354.
- Ensure
fips0exists and has IPv6 address.
Config reference: configs/fips.yaml
Phase 3 — Re-apply DNS forwarding in sys-fips
Inside sys-fips:
- Run DNS setup script to make dnsmasq forward
.fipsto local FIPS DNS (127.0.0.1:5354). - Verify dnsmasq is running and listening on port 53.
- Verify local forwarding behavior using a
.fipsquery.
Implementation reference: scripts/06-configure-dns.sh
Phase 4 — Re-apply IPv6 forwarding/routing for AppVM traffic
Inside sys-fips:
- Enable IPv6 forwarding.
- Ensure route for
fd00::/8points tofips0. - Ensure ip6tables forwarding rules exist and are persisted.
Implementation reference: scripts/07-route-appvms.sh
Phase 5 — Verify mesh reachability from sys-fips
Inside sys-fips:
- Confirm at least one reachable peer in FIPS config.
- Confirm FIPS node has joined mesh and can resolve npub
.fipslocally. - If unresolved, add/bootstrap peers and restart FIPS.
Planning reference: plans/sys-fips-plan.md
Phase 6 — Verify from AppVM (the failing client)
From the AppVM:
- Confirm resolver points to
sys-fips-provided DNS. - Query npub
.fipsagainst current resolver and confirm AAAA response. - Confirm no NXDOMAIN for
.fips.
If still NXDOMAIN, restart AppVM networking context (or reboot AppVM) after Phase 1–4 changes.
Phase 7 — Browser validation (headed)
- Test npub
.fipsURL in headed browser automation. - Test alias hostname variant (if configured in hosts mapping).
- Capture browser errors; expected fix is removal of name-resolution failure.
Operational context from previous troubleshooting: plans/laantungir-tor-fips-plan.md
Execution Order (Minimal Downtime)
- dom0 netvm chain correction
sys-fipsservice health (fips,fips-dns)- DNS forwarding script
- Routing script
- Peer/mesh verification
- AppVM DNS verification
- Browser verification
Expected Outcome
After these steps, the AppVM should resolve the npub .fips hostname through sys-fips DNS forwarding and reach the remote FIPS-hosted site in browser without ERR_NAME_NOT_RESOLVED.