手邊有幾台新安裝測試機器,初次使用 Windows Server 2016 被笨問題卡住。

在設定網路分享(共用資料夾)後,卻一直無法從遠端連上,觀察現象如下:

  1. 從網路分享所在本機存取 \\machineName\shareName 正常,但從遠端 \\192.168.1.100(其對外IP)\shareName 則連不到
  2. 在遠端機器設定 Windows\System32\drivers\etc\hosts 將 192.168.1.100 指向 machineName,遠端使用 \\machineName\shareName 依然無法連上
  3. 懷疑是 Windows 防火牆阻攔,但關閉防火牆亦未見改善
  4. new view \\192.168.1.100 或 net view \\machineName 傳回 系統發生 53 錯誤。找不到網路路徑。/ System Error 53 Has Occurred. The network path was not found
  5. 遠端測試 telnet 192.168.1.100 445 Port 不通
  6. netstat -na 確認系統有聽 445 Port(否則應該連本機也沒法取網路分享)
C:\Users\admin>netstat -na

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING

爬文查到可能與網卡未啟用「File and Printer Sharing for Microsoft Networks」有關,但啟用亦無效。

臨下班被這鳥問題卡住,苦試多回無功而返,只好收拾書包回家。所幸晚上媽祖托夢隔日上班福至心靈做了個實驗:在伺服器本機測試 telnet 127.0.0.1 445 可通但 telnet 192.168.1.100 445 不行,依此推測系統聽 445 Port 的範圍只限本機 IP,不含對外 IP 445 Port 未開,試了在本機用 \\192.168.1.100\shareName 果然也連不上。由此得到結論,網路分享有啟用,但只限本機 IP 存取 445 Port,因此本機連 \\machineName\shareName 可通 (machineName 對應成 ::1),不管從本機或遠端,\\192.168.1.100\shareName 則找不到路徑。(445 不通)

由這個觀測結果我再把矛頭指回「File and Printer Sharing for Microsoft Networks」,想到雖然操作介面沒提示,但啟用可能要重開機才會生效,而困擾好一陣子的鬼問題也總算在重開機後排除。

由這次經驗理出以下心得:

  1. 網路分享共用資料夾要能用,445 Port 一定要通,請優先檢查
  2. 未啟用「File and Printer Sharing for Microsoft Networks」時,可設網路分享,但只能從本機 IP 存取。意思是會有 telnet localhost 445 通,但 telnet 對外IP 445 不通的現象
  3. Windows Server 2016 預設未啟用「File and Printer Sharing for Microsoft Networks」
  4. 啟用「File and Printer Sharing for Microsoft Networks」後,記得要重開機才會生效


Comments

Be the first to post a comment

Post a comment