Networking

在收到 ping 之前無法通過 LAN ping

  • April 28, 2017

我在本地子網上有兩台 OSX 機器。機器 A ping 機器 B 一直超時,直到機器 B ping 機器 A。在 B ping A 之後,A 可以成功 ping B,但這種成功是暫時的;如果兩台機器之間在半小時左右沒有通信,則從 A 到 B 的 ping 再次開始超時(直到 B 再次 ping A)。

如何確保 B 始終可以從 A 訪問,而不必先從 B ping A 來“啟動”連接?

當您說同一個子網時,您是否清楚子網的行業定義,因為這是一個經常被誤用的巴洛克術語。

我想澄清一下,您是說這兩個 OSx 盒子沒有被路由器分隔(防火牆是有態度的路由器),它們連結了這些盒子所在的兩個地址方案。

您所描述的是由於不存在或配置錯誤的ARP 修剪計劃而失去了陳舊的 ARP 記錄的死鈴聲。ARP 是乙太網的定址方法,TCP/IP 地址相互依賴於正確的操作。

您正在詳細說明一個系統無法找到另一個系統,直到它首先被同一台電腦找到,直到它被失去的電腦首先更新。

如果這是一個 ARP 修剪問題,則必須 ping 第二個失去的電腦正在使用其新的 ARP/IP 組合更新您的第一台和錯誤電腦,如果它們都在不同的子網中,則工業級交換機,如 Cisco 或 NetGear與未配備此類設備的網路相比,專業設備將無縫管理這些記錄並防止這種情況頻繁發生。

一個好問題要問,機器 B 是否配備了更積極的電源管理策略,或者使用頻率較低並被允許掛起/休眠?因為這樣做並不是一個完美的事件,而且 Windows 社區在試圖節省電費但尚未升級其網路基礎設施的大型小型公司網路上遇到了這個問題。因此,PC 的分接頭,他們的 IP 地址被租給其他人或返回地址池並保持未分配。你的機器 A 仍然堅持機器 B 必須在這個特定的 IP 地址上,而它早已被從那個地址驅逐出去了。

通過防止兩台電腦暫停或關閉其 NIC 以節省電力來確認這一點。WiFi NIC 通常使用更多的電源並且更積極地管理,因此如果這些是 WiFi 盒子,請檢查兩台機器中的所有電源管理設置,以確保它們保持活躍和供電。

TCP/IP 命令比 Mac/Windows 中使用的其他命令共享更多公共部分,在 Win 端,我們使用arp -a轉儲 IP 和 ARP 列表,下次您的 B 框無法訪問並假設您可以訪問它時,請訪問它首先,在確定其目前 IP 地址之前,不要 ping 任何東西以喚醒任何東西。

然後從機器A確認它再次找不到機器B並執行等效arp -a命令,比較機器A的IP(直到B宣布自己才能B的盒子),如果IP與A的記憶體不同和B的物理檢查…您遇到了 ARP 修剪問題,並且您對這個詳細的答案欠我的全部功勞。

引用自:https://serverfault.com/questions/462803