AppSync:探索 Windows 主機失敗,並出現通訊錯誤
Сводка: AppSync 無法探索 Exchange 主機,因為代理程式無法與 Exchange 伺服器通訊。
Симптомы
在某些情況下,這可能不會造成任何問題,直到額外的 DNS 名稱從 DNS 中經過編輯或移除,但未在目標主機上正確更新。此時,代理程式將無法再解析從 getnameinfo 取得的 FQDN 至 IP 位址,而且探索將會失敗。
探索 Windows 主機和推送安裝代理程式檔案可能會失敗。嘗試 ping 主機的主機名稱、完整網域名稱 (FQDN) 和 IP 均成功。這可能會發生在已探索到的主機上或剛安裝上。在推送安裝期間,代理檔將推送到代理,但安裝的發現階段將失敗。
您可能會在記錄中看到下列錯誤:
伺服器記錄:
<DATE> DEBUG [Thread-59 (HornetQ-client-global-threads-777292290)] [com.emc.archway.service.archwayagent.ArchwayConversation] [] [] c2fdae32-c9fe-44b3-9e5f-d60bf3c9f5e6->>> Connecting to host <FQDN of Windows Host> <DATE> ERROR [Thread-59 (HornetQ-client-global-threads-777292290)] [stderr] [] [] java.net.SocketException: Connection reset
代理程式記錄
<DATE> INFO [14032] [] [Host Name] [] setHostInfo:: hostname returned by getnameinfo is <Stale FQDN> <DATE> INFO [14032] [] [Host Name] [] m_hostname is <Stale FQDN> <DATE> INFO [14032] [] [Host Name] [] calling setAddrInfo for p_socket_instance hostname (Stale FQDN) <DATE> INFO [14032] [] [Host Name] [] setAddrInfo() called for host <Stale FQDN>
AppSync 偵測到 Windows 主機的 DNS 名稱不再有效。
Причина
當主機的 DNS 伺服器中有多個 DNS 項目時,可能會發生這種情況。執行代理程式探索時,AppSync 代理程式會使用 Windows getnameinfo 功能來判斷主機名稱。如果特定主機有多個 DNS 名稱,getnameinfo 可能不會傳回與在 AppSync GUI 中輸入的名稱相同的名稱。
有關「getnameInfo」的更多詳細資訊,請參閱以下連結:
https://docs.microsoft.com/windows/win32/api/ws2tcpip/nf-ws2tcpip-getnameinfo
Разрешение
-
最合適的解決方案是與網路管理員合作,以確保主機在發現期間返回正確的 DNS 名稱。
-
命令「nbtstat -n」可用來顯示在主機上註冊的 DNS 名稱。此命令不會顯示未連接到網路的網路適配器的 DNS 名稱。
-
命令「nbtstat -RR」可用來強制主機從 DNS 伺服器更新其 DNS 記錄。
-
如果無法將 DNS 條目添加回 DNS 伺服器或從代理中刪除記錄,則可以按如下所示解決此問題。更新目標 Windows 主機上的主機檔案,以將 FQDN 解析成目標主機的 IP 位址。主機檔案位於 C:\Windows\System32\Drivers\etc。