- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
8.0 KiB
Troubleshooting Guide
Common issues and solutions for Cloudflare Tunnel setup.
Quick Diagnostics
Run the health check script first:
./scripts/check-tunnel-health.sh
Common Issues
1. Tunnel Service Not Running
Symptoms:
systemctl status cloudflared-ml110shows inactive- DNS resolves but connection times out
Solutions:
# Check service status
systemctl status cloudflared-ml110
# Check logs for errors
journalctl -u cloudflared-ml110 -n 50
# Restart service
systemctl restart cloudflared-ml110
# Check if credentials file exists
ls -la /etc/cloudflared/tunnel-ml110.json
# Verify configuration
cat /etc/cloudflared/tunnel-ml110.yml
Common Causes:
- Missing credentials file
- Invalid tunnel ID in config
- Network connectivity issues
- Incorrect configuration syntax
2. DNS Not Resolving
Symptoms:
dig ml110-01.d-bis.orgreturns no results- Browser shows "DNS_PROBE_FINISHED_NXDOMAIN"
Solutions:
-
Verify DNS record exists:
- Go to Cloudflare Dashboard → DNS → Records
- Check CNAME record exists for
ml110-01 - Verify proxy is enabled (orange cloud)
-
Verify DNS record target:
- Target should be:
<tunnel-id>.cfargotunnel.com - Not an IP address
- Target should be:
-
Wait for DNS propagation:
- DNS changes can take up to 5 minutes
- Clear DNS cache:
sudo systemd-resolve --flush-caches
-
Test DNS resolution:
dig ml110-01.d-bis.org nslookup ml110-01.d-bis.org
3. Connection Timeout
Symptoms:
- DNS resolves correctly
- Connection times out when accessing URL
- Browser shows "ERR_CONNECTION_TIMED_OUT"
Solutions:
-
Check tunnel is running:
systemctl status cloudflared-ml110 -
Check tunnel logs:
journalctl -u cloudflared-ml110 -f -
Verify internal connectivity:
# From VMID 102, test connection to Proxmox host curl -k https://192.168.11.10:8006 -
Check tunnel configuration:
- Verify service URL is correct:
https://192.168.11.10:8006 - Check tunnel ID matches Cloudflare dashboard
- Verify service URL is correct:
-
Verify Cloudflare tunnel status:
- Go to Cloudflare Zero Trust → Networks → Tunnels
- Check tunnel shows "Healthy" status
4. SSL Certificate Errors
Symptoms:
- Browser shows SSL certificate warnings
- "NET::ERR_CERT_AUTHORITY_INVALID"
Solutions:
-
This is expected - Proxmox uses self-signed certificates
-
Cloudflare handles SSL termination at the edge
-
Verify tunnel config has:
originRequest: noTLSVerify: true -
If issues persist, try HTTP instead:
service: http://192.168.11.10:8006(Note: Less secure, but may work if HTTPS issues persist)
5. Cloudflare Access Not Showing
Symptoms:
- Direct access to Proxmox UI
- No Cloudflare Access login page
Solutions:
-
Verify DNS proxy is enabled:
- Cloudflare Dashboard → DNS → Records
- Ensure orange cloud is ON (proxied)
-
Verify Access application exists:
- Zero Trust → Access → Applications
- Check application for
ml110-01.d-bis.orgexists
-
Verify Access policy:
- Check policy is configured correctly
- Ensure policy is active
-
Check SSL/TLS settings:
- Cloudflare Dashboard → SSL/TLS
- Set to "Full" or "Full (strict)"
-
Clear browser cache:
- Hard refresh: Ctrl+Shift+R (or Cmd+Shift+R on Mac)
6. MFA Not Working
Symptoms:
- Login works but MFA prompt doesn't appear
- Can't complete authentication
Solutions:
-
Verify MFA is enabled in policy:
- Zero Trust → Access → Applications
- Edit application → Edit policy
- Check "Require" includes MFA
-
Check identity provider settings:
- Verify MFA is configured in your identity provider
- Test MFA with another application
-
Check user MFA status:
- Zero Trust → My Team → Users
- Verify user has MFA enabled
7. Service Fails to Start
Symptoms:
systemctl start cloudflared-ml110fails- Service immediately stops after starting
Solutions:
-
Check service logs:
journalctl -u cloudflared-ml110 -n 100 -
Verify credentials file:
ls -la /etc/cloudflared/tunnel-ml110.json cat /etc/cloudflared/tunnel-ml110.json -
Verify configuration syntax:
cloudflared tunnel --config /etc/cloudflared/tunnel-ml110.yml validate -
Check file permissions:
chmod 600 /etc/cloudflared/tunnel-ml110.json chmod 644 /etc/cloudflared/tunnel-ml110.yml -
Test tunnel manually:
cloudflared tunnel --config /etc/cloudflared/tunnel-ml110.yml run
8. Multiple Tunnels Conflict
Symptoms:
- Only one tunnel works
- Other tunnels fail to start
Solutions:
-
Check for port conflicts:
- Each tunnel uses different metrics port
- Verify ports 9091, 9092, 9093 are not in use
-
Verify separate credentials:
- Each tunnel needs its own credentials file
- Verify files are separate:
tunnel-ml110.json,tunnel-r630-01.json, etc.
-
Check systemd services:
systemctl status cloudflared-* -
Verify separate config files:
- Each tunnel has its own config file
- Tunnel IDs are different in each config
Advanced Troubleshooting
Check Tunnel Connectivity
# From VMID 102, test each Proxmox host
curl -k -I https://192.168.11.10:8006
curl -k -I https://192.168.11.11:8006
curl -k -I https://192.168.11.12:8006
Verify Tunnel Configuration
# Validate config file
cloudflared tunnel --config /etc/cloudflared/tunnel-ml110.yml validate
# List tunnels
cloudflared tunnel list
# Get tunnel info
cloudflared tunnel info <tunnel-id>
Check Network Connectivity
# Test DNS resolution
dig ml110-01.d-bis.org
# Test HTTPS connectivity
curl -v https://ml110-01.d-bis.org
# Check Cloudflare IPs
nslookup ml110-01.d-bis.org
View Real-time Logs
# Follow logs for all tunnels
journalctl -u cloudflared-ml110 -f
journalctl -u cloudflared-r630-01 -f
journalctl -u cloudflared-r630-02 -f
Diagnostic Commands
Complete Health Check
# Run comprehensive health check
./scripts/check-tunnel-health.sh
# Check all services
systemctl status cloudflared-ml110 cloudflared-r630-01 cloudflared-r630-02
# Check tunnel connectivity
for tunnel in ml110 r630-01 r630-02; do
echo "Checking $tunnel..."
systemctl is-active cloudflared-$tunnel && echo "✓ Running" || echo "✗ Not running"
done
Reset Tunnel
If a tunnel is completely broken:
# Stop service
systemctl stop cloudflared-ml110
# Remove old credentials (backup first!)
cp /etc/cloudflared/tunnel-ml110.json /etc/cloudflared/tunnel-ml110.json.backup
# Re-authenticate (if needed)
cloudflared tunnel login
# Re-create tunnel (if needed)
cloudflared tunnel create tunnel-ml110
# Start service
systemctl start cloudflared-ml110
Getting Help
If issues persist:
-
Collect diagnostic information:
./scripts/check-tunnel-health.sh > /tmp/tunnel-health.txt journalctl -u cloudflared-* > /tmp/tunnel-logs.txt -
Check Cloudflare dashboard:
- Zero Trust → Networks → Tunnels → Status
- Access → Logs → Recent authentication attempts
-
Review documentation:
-
Common issues:
- Invalid tunnel token
- Network connectivity issues
- Incorrect configuration
- DNS propagation delays
Prevention
To avoid issues:
- ✅ Regular health checks - Run
check-tunnel-health.shdaily - ✅ Monitor logs - Set up log monitoring
- ✅ Backup configs - Keep backups of config files
- ✅ Test after changes - Test after any configuration changes
- ✅ Document changes - Keep track of what was changed