feat: Major directory reorganization and cleanup
Reorganized project structure for better maintainability and reduced disk usage by 95.9% (11 GB -> 451 MB). Directory Reorganization (85% reduction in root files): - Created docs/ with subdirectories (deployment, testing, database, etc.) - Created infrastructure/vpn-configs/ for VPN scripts - Moved 90+ files from root to organized locations - Archived obsolete documentation (context system, offline mode, zombie debugging) - Moved all test files to tests/ directory - Root directory: 119 files -> 18 files Disk Cleanup (10.55 GB recovered): - Deleted Rust build artifacts: 9.6 GB (target/ directories) - Deleted Python virtual environments: 161 MB (venv/ directories) - Deleted Python cache: 50 KB (__pycache__/) New Structure: - docs/ - All documentation organized by category - docs/archives/ - Obsolete but preserved documentation - infrastructure/ - VPN configs and SSH setup - tests/ - All test files consolidated - logs/ - Ready for future logs Benefits: - Cleaner root directory (18 vs 119 files) - Logical organization of documentation - 95.9% disk space reduction - Faster navigation and discovery - Better portability (build artifacts excluded) Build artifacts can be regenerated: - Rust: cargo build --release (5-15 min per project) - Python: pip install -r requirements.txt (2-3 min) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
106
infrastructure/vpn-configs/Utilities/Diagnose-VPN-Interface.ps1
Normal file
106
infrastructure/vpn-configs/Utilities/Diagnose-VPN-Interface.ps1
Normal file
@@ -0,0 +1,106 @@
|
||||
# Diagnose VPN interface while connected
|
||||
# Run this WHILE VPN IS CONNECTED
|
||||
|
||||
Write-Host "=== VPN Interface Diagnostic ===" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Check VPN connection status
|
||||
Write-Host "[1] VPN Connection Status:" -ForegroundColor Yellow
|
||||
$rasStatus = rasdial
|
||||
Write-Host $rasStatus -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# Show ALL network adapters (including disconnected, hidden, etc.)
|
||||
Write-Host "[2] ALL Network Adapters (including disconnected):" -ForegroundColor Yellow
|
||||
Get-NetAdapter | Select-Object Name, InterfaceDescription, Status, InterfaceIndex |
|
||||
Format-Table -AutoSize
|
||||
Write-Host ""
|
||||
|
||||
# Show adapters with "WAN" in the name
|
||||
Write-Host "[3] WAN Miniport Adapters:" -ForegroundColor Yellow
|
||||
Get-NetAdapter | Where-Object {
|
||||
$_.InterfaceDescription -like "*WAN*"
|
||||
} | Select-Object Name, InterfaceDescription, Status, InterfaceIndex |
|
||||
Format-Table -AutoSize
|
||||
Write-Host ""
|
||||
|
||||
# Show RAS connections (another way to see VPN)
|
||||
Write-Host "[4] RAS Connections:" -ForegroundColor Yellow
|
||||
try {
|
||||
Get-VpnConnection | Select-Object Name, ConnectionStatus, ServerAddress |
|
||||
Format-Table -AutoSize
|
||||
}
|
||||
catch {
|
||||
Write-Host "Could not query VPN connections" -ForegroundColor Gray
|
||||
}
|
||||
Write-Host ""
|
||||
|
||||
# Show IP configuration for all interfaces
|
||||
Write-Host "[5] IP Configuration:" -ForegroundColor Yellow
|
||||
Get-NetIPAddress | Where-Object {
|
||||
$_.AddressFamily -eq "IPv4"
|
||||
} | Select-Object InterfaceAlias, IPAddress, InterfaceIndex |
|
||||
Format-Table -AutoSize
|
||||
Write-Host ""
|
||||
|
||||
# Show routing table
|
||||
Write-Host "[6] Routing Table (looking for VPN routes):" -ForegroundColor Yellow
|
||||
Write-Host "Full routing table:" -ForegroundColor Gray
|
||||
route print
|
||||
Write-Host ""
|
||||
|
||||
# Check if we can reach remote network WITHOUT explicit route
|
||||
Write-Host "[7] Testing connectivity to remote network:" -ForegroundColor Yellow
|
||||
|
||||
Write-Host "Testing DNS server (192.168.0.2)..." -ForegroundColor Gray
|
||||
$pingDNS = Test-Connection -ComputerName 192.168.0.2 -Count 2 -ErrorAction SilentlyContinue
|
||||
|
||||
if ($pingDNS) {
|
||||
Write-Host "[OK] DNS server 192.168.0.2 IS reachable!" -ForegroundColor Green
|
||||
Write-Host "Average response time: $([math]::Round(($pingDNS | Measure-Object -Property ResponseTime -Average).Average, 2))ms" -ForegroundColor Green
|
||||
}
|
||||
else {
|
||||
Write-Host "[INFO] DNS server 192.168.0.2 not reachable" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host "Testing router (192.168.0.10)..." -ForegroundColor Gray
|
||||
$pingRouter = Test-Connection -ComputerName 192.168.0.10 -Count 2 -ErrorAction SilentlyContinue
|
||||
|
||||
if ($pingRouter) {
|
||||
Write-Host "[OK] Router 192.168.0.10 IS reachable!" -ForegroundColor Green
|
||||
Write-Host "Average response time: $([math]::Round(($pingRouter | Measure-Object -Property ResponseTime -Average).Average, 2))ms" -ForegroundColor Green
|
||||
}
|
||||
else {
|
||||
Write-Host "[INFO] Router 192.168.0.10 not reachable" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
if ($pingDNS -or $pingRouter) {
|
||||
Write-Host "`n[IMPORTANT] Remote network IS accessible!" -ForegroundColor Green
|
||||
Write-Host "This means routes might be automatically configured by UniFi!" -ForegroundColor Green
|
||||
}
|
||||
else {
|
||||
Write-Host "`n[INFO] Remote network not reachable" -ForegroundColor Gray
|
||||
Write-Host "This is expected if routes aren't configured" -ForegroundColor Gray
|
||||
}
|
||||
Write-Host ""
|
||||
|
||||
# Try traceroute to see the path
|
||||
Write-Host "[8] Traceroute to 192.168.0.2 (first 5 hops):" -ForegroundColor Yellow
|
||||
try {
|
||||
$trace = Test-NetConnection -ComputerName 192.168.0.2 -TraceRoute -Hops 5 -WarningAction SilentlyContinue
|
||||
if ($trace.TraceRoute) {
|
||||
Write-Host "Path:" -ForegroundColor Gray
|
||||
$trace.TraceRoute | ForEach-Object { Write-Host " $_" -ForegroundColor DarkGray }
|
||||
}
|
||||
}
|
||||
catch {
|
||||
Write-Host "Traceroute not available or failed" -ForegroundColor Gray
|
||||
}
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "=== Analysis ===" -ForegroundColor Cyan
|
||||
Write-Host "Look at the output above to identify:" -ForegroundColor White
|
||||
Write-Host " 1. Any adapter with 'WAN', 'PPP', 'L2TP', or 'RAS' in the description" -ForegroundColor Gray
|
||||
Write-Host " 2. Any new IP addresses that appeared after VPN connection" -ForegroundColor Gray
|
||||
Write-Host " 3. Routes to 192.168.0.0 or 10.x.x.x in the routing table" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
Reference in New Issue
Block a user