
我已經進行了盡可能多的研究,但一直試圖在兩台 Windows 2008 伺服器之間建立 telnet 連線。
伺服器 A 上的應用程式需要透過連接埠 1433 (ms sql) 連接到伺服器 B。我已經驗證伺服器 B 的防火牆已打開,並且正在接受連接埠 1433 上的連接,因為我可以從 3 個不同的伺服器透過連接埠 1433 遠端登入伺服器 B。
問題是我仍然無法從伺服器 A 遠端登入。
為了排除故障,我確保控制面板防火牆以及進階防火牆都已關閉。我也剛剛停止了這台電腦上的 Windows 防火牆服務。沒有任何組合允許我在連接埠 1433 上進行 telnet。
C:\>telnet YY.XX.XYX.XY 1433 正在連接到 YY.XX.XYX.XY...無法在連接埠 1433 上開啟與主機的連接 : 連線失敗
我一直糾纏伺服器 A 的專用託管供應商,他們堅持認為沒有路由器或任何其他硬體可以阻止出站 1433 流量。
誰在騙我?我的 Windows 伺服器?託管公司?
任何想法將不勝感激!
答案1
根據您的描述,問題似乎出在伺服器 A 上。確保 Telnet 程式確實成功傳送資料包。我傾向於使用 Wireshark 來驗證這一點。
答案2
那麼伺服器A和伺服器B應該在同一個網路上嗎?您可以使用 來驗證中間沒有任何內容tracert
。如果伺服器 A 與您用於 telnet 到伺服器 B 的其他 3 台伺服器位於不同的網絡,那麼這並不是真正有效的連接測試。仍然可能有防火牆規則或路由器 ACL 阻止來自伺服器 A 網路的連線。您能否從伺服器 A ping 伺服器 B 或 telnet 到伺服器 B 正在偵聽的另一個連接埠?
將 Wireshark 放在伺服器 A 上並監視連線嘗試以查看發生了什麼。
另外,您是否嘗試過使用伺服器 A 上的 SQL 工具連接到伺服器 B?例如 SQL Server Management Studio?
(請記住,來自伺服器 A 的傳出流量實際上只會發送至連接埠 1433。來源連接埠會有所不同。)
答案3
我將從一些基本的網路故障排除步驟開始。
- 你能 ping 通伺服器嗎?
- 你能追蹤到伺服器嗎? (如果是這樣,是否通過了防火牆,可能會阻止流量)
您可以從同一網段的另一台裝置遠端登入伺服器嗎?
如果這不能解決問題,我建議使用wireshark之類的工具來真正了解發生了什麼。
答案4
伺服器 B 是否有多個外部 IP 位址? SQL Server 可能沒有監聽全部IP 位址。使用 netstat -n -a 驗證 0.0.0.0:1433 是否存在,或每個外部 IP 位址都被列為偵聽 :1433
從伺服器 A 執行 Ping 操作,並確保其解析到的 IP 位址與其他 3 個伺服器解析到的 IP 位址相同。
如果沒有,您將需要重新設定 sql server 網路介面。