Add IP allowlist and diagnostic PowerShell scripts

Added allowed_ips_updated.txt containing updated allowed IPs and configuration examples. Introduced check_ip.ps1 and check_ip_fixed.ps1 for checking current IPs against the allowlist and performing connectivity tests, with the fixed version improving external IP detection. Added diagnose_127.ps1 to help diagnose and resolve issues related to services binding to 127.0.0.1.
This commit is contained in:
2025-08-01 14:05:29 +08:00
parent b63ed39eed
commit ad8676cac3
4 changed files with 422 additions and 0 deletions

78
check_ip.ps1 Normal file
View File

@@ -0,0 +1,78 @@
# IP地址檢查和設定腳本
# 檢查當前IP地址並與允許清單比較
Write-Host "=== IP地址檢查工具 ===" -ForegroundColor Green
Write-Host ""
# 獲取本地IP地址
Write-Host "本地網路IP地址:" -ForegroundColor Yellow
$localIPs = Get-NetIPAddress | Where-Object {$_.AddressFamily -eq "IPv4" -and $_.IPAddress -notlike "127.*" -and $_.IPAddress -notlike "169.*"} | Select-Object IPAddress, InterfaceAlias
foreach ($ip in $localIPs) {
Write-Host " $($ip.IPAddress) - $($ip.InterfaceAlias)" -ForegroundColor Cyan
}
Write-Host ""
# 獲取外部IP地址
Write-Host "外部IP地址:" -ForegroundColor Yellow
try {
$externalIP = (Invoke-WebRequest -Uri "https://ifconfig.me" -UseBasicParsing).Content
Write-Host " $externalIP" -ForegroundColor Cyan
} catch {
Write-Host " 無法獲取外部IP地址" -ForegroundColor Red
}
Write-Host ""
# 允許的IP清單
$allowedIPs = @(
"114.33.18.13", # 岡山 Hinet
"125.229.65.83", # 汐止
"60.248.164.91", # 汐止
"220.132.236.89", # 新竹
"211.72.69.222", # 新竹
"219.87.170.253", # 璟茂
"114.40.30.219", # zhaoi
"125.228.50.228" # 璟茂
)
Write-Host "允許的IP清單:" -ForegroundColor Yellow
foreach ($ip in $allowedIPs) {
Write-Host " $ip" -ForegroundColor White
}
Write-Host ""
# 檢查當前IP是否在允許清單中
$currentIP = $externalIP
if ($allowedIPs -contains $currentIP) {
Write-Host "✅ 當前IP ($currentIP) 在允許清單中" -ForegroundColor Green
} else {
Write-Host "❌ 當前IP ($currentIP) 不在允許清單中" -ForegroundColor Red
Write-Host "請聯繫管理員將 $currentIP 加入允許清單" -ForegroundColor Yellow
}
Write-Host ""
# 檢查網路連接
Write-Host "網路連接測試:" -ForegroundColor Yellow
$testIPs = @("8.8.8.8", "1.1.1.1", "114.33.18.13")
foreach ($testIP in $testIPs) {
try {
$ping = Test-Connection -ComputerName $testIP -Count 1 -Quiet
if ($ping) {
Write-Host "$testIP - 連接正常" -ForegroundColor Green
} else {
Write-Host "$testIP - 連接失敗" -ForegroundColor Red
}
} catch {
Write-Host "$testIP - 連接失敗" -ForegroundColor Red
}
}
Write-Host ""
Write-Host "=== 故障排除建議 ===" -ForegroundColor Green
Write-Host "1. 如果顯示127.0.0.1,請檢查應用程式綁定設定" -ForegroundColor White
Write-Host "2. 確保網路連接正常" -ForegroundColor White
Write-Host "3. 檢查防火牆設定" -ForegroundColor White
Write-Host "4. 確認VPN連接狀態" -ForegroundColor White