Documents the non-obvious failure mode where /etc/hosts generator scripts using `tailscale status --json | jq '.HostName'` get poisoned by iOS peers, which always report HostName as the literal string "localhost" because iOS doesn't expose the device name to apps. Includes the buggy and fixed jq filter (use .DNSName first label instead), a real-world Postfix outage example, and a verification checklist. Linked from troubleshooting index and SUMMARY. Discovered while diagnosing a 24h Postfix outage on majordiscord. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 KiB
3 KiB
| created | updated |
|---|---|
| 2026-03-15T06:37 | 2026-04-29T23:55 |
🔧 General Troubleshooting
Practical fixes for common Linux, networking, and application problems.
🖥️ GPU & AI
🌐 Networking & Web
- Apache Outage: Fail2ban Self-Ban + Missing iptables Rules
- Mail Client Stops Receiving: Fail2ban IMAP Self-Ban
- firewalld: Mail Ports Wiped After Reload
- Tailscale SSH: Unexpected Re-Authentication Prompt
- iOS Tailscale Clients Report HostName="localhost" — Breaks /etc/hosts Generators
- rsync over Tailscale: Hung in TCP Teardown After Transfer Completes
- Windows OpenSSH: WSL Default Shell Breaks Remote Commands
- Pi-hole AI Blocklist Blocks Claude Desktop (ERR_CONNECTION_REFUSED)
- ISP SNI Filtering & Caddy
- yt-dlp YouTube JS Challenge Fix
- wget/curl: URLs with Special Characters Fail in Bash
⚙️ Ansible & Fleet Management
- SSH Timeout During dnf upgrade on Fedora Hosts
- Vault Password File Missing
- ansible.cfg Ignored on WSL2 Windows Mounts
📦 Docker & Systems
- Docker & Caddy Recovery After Reboot (Fedora + SELinux)
- Gitea Actions Runner: Boot Race Condition Fix
- Systemd Session Scope Fails at Login (
session-cN.scope) - MajorWiki Setup & Publishing Pipeline
- Cron Heartbeat False Alarm: /var/run Cleared by Reboot