🔍Windows 伺服器「連不上網路」怎麼辦?—軟體工程師寫給非工程背景的超實用排查指南

 

概要

當 Windows 伺服器「上不了網」時,原因大致分三類:

  1. 線路/設備:網線、交換器 Port、VLAN 等硬體或網路側設定

  2. 網路設定:IP、閘道(Default Gateway)、DNS、路由表、防火牆

  3. Windows 自身:網卡驅動、服務停止、協定堆疊損壞、殘留 Proxy、過緊的防護軟體

下面提供一個5–10 分鐘快速檢查流程,能幫你判斷是不是 Windows 本身造成的,或該往網管/機房方向查。



快速檢查(5–10 分鐘就能初步定位)

1) 先看「有沒有接上線」

  • 交換器與伺服器網卡燈號是否亮?

  • 在伺服器上開 PowerShell(系統管理員)輸入:

Get-NetAdapter | ft Name,Status,LinkSpeed,MacAddress -a
  • Status=Disconnected/Disabled → 多半不是 Windows 任性,是線材/Port/VLAN/Teaming問題。

2) 檢查是否拿到正常 IP

Get-NetIPConfiguration # 或 CMD: ipconfig /all
  • 看到 169.254.x.x(APIPA 自動位址)→ DHCP/交換器/VLAN 方向優先查。

  • IP / Default Gateway / DNS → 進下一步。

3) 基礎連通性(先測內,再測外)

  • Ping 閘道:

ping <你的 Default Gateway>
  • Trace 到外網 IP:

Test-NetConnection 8.8.8.8 -TraceRoute

判讀

  • 閘道都不通 → 多半是本機防火牆、網段/VLAN、上游交換器/路由

  • 閘道通但 8.8.8.8 不通 → 上游路由或防火牆要查。

4) DNS 解析是否正常

Resolve-DnsName www.microsoft.com # 或 nslookup www.microsoft.com
  • IP 能通、網域不通 → DNS 設定/權限/攔截有問題。

5) HTTPS 應用層測試(443)

Test-NetConnection www.microsoft.com -Port 443
  • 443 失敗 → 可能是主機/網路防火牆、代理、SSL 檢查設備

  • 只有少數網站失敗 → 懷疑 MTU/代理/黑名單/CDN 路徑



Windows 端常見元兇與一鍵修復

A. Winsock/TCP/IP 協定堆疊異常

安裝/移除軟體後常見「能 ping、但瀏覽怪怪」。
修復指令(CMD 管理員):

netsh winsock reset netsh int ip reset ipconfig /flushdns

執行後重開機

B. 網卡驅動 or 電源管理

  • 更新或回滾 NIC Driver。

  • 網卡 → 內容 → 電源管理:取消「讓電腦關閉此裝置以節省電源」。

C. Windows 防火牆/第三方防護過緊

先檢查狀態(不要直接長期關閉):

Get-NetFirewallProfile netsh advfirewall show allprofiles

必要時暫停第三方防毒/EDR 進行 A/B 測試(測完記得恢復)。

D. 代理 Proxy 殘留(典型現象:能 ping、不能上網)

netsh winhttp show proxy netsh winhttp reset proxy

再檢查「網際網路選項 → 連線 → 區域網路設定」是否有代理。

E. 路由表被改壞(封包繞錯路)

Get-NetRoute -AddressFamily IPv4 | sort DestinationPrefix,RouteMetric | ft -a

找到異常的 Persistent Route 後移除或調整度量值(Metric)。

F. 系統時間嚴重漂移(HTTPS/TLS 會怪)

w32tm /query /status

網域環境通常跟 DC 同步;非網域請設定 NTP。

G. MTU 不匹配(VPN/MPLS/雲專線常見)

測 MTU:

ping 8.8.8.8 -f -l 1472

若需降低 MTU:

netsh interface ipv4 show subinterfaces netsh interface ipv4 set subinterface "Ethernet" mtu=1460 store=persistent


如果它是一台虛擬機(Hyper-V / VMware)

  • 檢查 vSwitch/Port Group VLAN ID 是否正確;

  • 安全策略(MAC 變更、偽造傳送)要允許對應需求;

  • VM 連到正確的 vSwitch/Port Group;宿主機實體 NIC 也要在正確的 Trunk。



你可以回傳這 4 段輸出,我能更精準判讀

  1. ipconfig /all

  2. route printGet-NetRoute -AddressFamily IPv4

  3. Test-NetConnection 8.8.8.8 -TraceRoute

  4. Test-NetConnection www.microsoft.com -Port 443

小技巧:若問題出在固定時段(例如每天半夜)、固定網站/網段,很可能是排程、ACL、或上游設備策略。



一頁式速查表(收藏用)

  • 燈號:網卡/交換器燈是否亮

  • IP:不是 169.254.x.x、有 Gateway / DNS

  • Ping:先內(Gateway),再外(8.8.8.8)

  • DNSResolve-DnsName 是否可解析

  • HTTPSTest-NetConnection -Port 443

  • 修復netsh winsock resetnetsh int ip resetipconfig /flushdns

  • Proxynetsh winhttp show/reset proxy

  • 防火牆Get-NetFirewallProfile 檢查

  • 路由Get-NetRoute 看是否繞錯

  • 時間w32tm /query /status

  • MTUping -f -l 試包長



常見問答(FAQ)

Q1:看到 169.254.x.x(APIPA),代表什麼?
A:伺服器沒拿到 DHCP 位址。查 DHCP 服務/交換器 Port/VLAN/線材

Q2:Winsock Reset 會不會有風險?
A:它會重置網路堆疊(套件、LSP 等)。一般是安全的,但重置後需重開機;極少數情境要重新安裝驅動/代理程式。

Q3:能 ping,但開網頁不上?
A:高機率是 DNS、Proxy、443 被擋,或 MTU 太大導致 TLS 分片失敗。

Q4:只有特定網站上不了?
A:看起來像 CDN/黑名單/SSL 檢查設備DNS 污染,先換公共 DNS(例如 8.8.8.8/1.1.1.1)做 A/B 測試。


範例指令集合(可直接貼上測)

# 1) 介面與鏈路 Get-NetAdapter | ft Name,Status,LinkSpeed,MacAddress -a Get-NetIPConfiguration # 2) 連通性與 DNS Test-NetConnection 8.8.8.8 -TraceRoute Resolve-DnsName www.microsoft.com Test-NetConnection www.microsoft.com -Port 443 # 3) 防火牆 / 路由 / 代理 Get-NetFirewallProfile Get-NetRoute -AddressFamily IPv4 | sort DestinationPrefix,RouteMetric | ft -a netsh winhttp show proxy # 4) 修復組合拳(CMD) netsh winsock reset netsh int ip reset ipconfig /flushdns netsh winhttp reset proxy


給管理者的預防建議

  • 版本/變更控管:驅動、Agent、安全策略的更新要有回滾方案。

  • 標準化網路配置:固定的 IP/GW/DNS 規範、路由 Metric 策略。

  • 監控告警:閘道延遲、DNS 失敗率、443 連線成功率。

  • 文件化:VLAN ID、Port Group、ACL、防火牆規則留存版本。

留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🛠【ASP.NET Core + Oracle】解決 ORA-00904 "FALSE": 無效的 ID 錯誤與資料欄位動態插入顯示問題

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)