iT邦幫忙

1

[已解決]Windows 2016 Hyper-V 內某一台 Guest OS IP,在同網段的Client PC 中,重開機會出現錯的 Static MAC addrss

  • 分享至 

  • xImage

出現如標題的怪狀況,詳細現象說明如下:
2016 Hyper-V 內有一台 Guest OS ,IP 比如 192.168.1.a MAC address 00-15-5d-xx-yy-zz
但在同一網段的某些PC,只要重開機,就會學到錯的MAC 地址 (00-0b-ab-xx-xx-xx 靜態)
只要PC有重開機,用arp -a 查,就發現Server IP 的MAC 是錯的,所以服務也連不上,ping 不到
手動下指令 arp -d 再 ping ip ,OK,服務就連上了,arp -a 看到是正確的MAC(動態)
然後PC只要不重開機,都沒問題,PC重開又一樣狀況

此現象已出現大約半年多,不到一年
PC不是全部都會這樣,有特定的PC才會,新的PC目前暫時沒人反應(不過單位近一年新PC只有個位數幾台,目前暫時也不敢說新PC一定不會出現)

arp -a 出現錯的 MAC 類型是 '靜態'
arp -d ,再ping 後,才學到正確的MAC,類型是 '動態'

說一下懷疑的地方和已做過的測試:
1.最先懷疑,是區網內有設備IP衝突:
試過在 Guest OS 已關機的狀況下,在正常的 PC中ping IP,結果什麼MAC 都沒學到。有問題的電腦(MAC 已出現 Static),下 arp -d ,再Ping IP,也是什麼MAC 都沒學到。
也查了 L3 Switch ,上面沒有這個錯的 mac address
而且,比較新的PC,好像都沒反應這個問題
因此,先排除了設備IP衝突

2.Guest OS 的網卡設定有問題
Hyper-V 上看過網路卡的配置,一開始是用 Hyper-V 自動產生的 MAC,後來也改成固定的 MAC address,但問題沒有改善。
Guest OS 上面跑了特定的服務,也請原廠連線查過,原廠說沒有特別對網路卡做什麼設定,但因為是原廠自已連 ssh 到 Linux,本人不知對方檢查了什麼,但也只能相信(沒有給我們root 或 ssh 的帳密)。

3.AD Logon script 或本機有開機 script
會想這部份,是因為 arp 類型是 "靜態", 除非用指令 arp -s 強加之外,我想不出還有什麼可能。
但我查了PC 和AD上,真沒這個 script 設定。AD上只有派印表機&網路磁碟,沒有其他的內容。
本機上也沒有在啟動或排程內加任何奇怪的東西

現在是被動處理問題,有人重開機+使用到該IP服務,發現不能用在叫~就過去下指令 arp -d (User 沒有管理員權限,只能IT過去處理)

有沒有其他建議的方向可以查?

看更多先前的討論...收起先前的討論...
rb1102 iT邦研究生 3 級 ‧ 2024-08-28 14:47:29 檢舉
你的Switch應該可以設定arp靜態對映吧?
ming9900 iT邦新手 5 級 ‧ 2024-08-28 15:27:36 檢舉
可以,但查過,沒有靜態mac 的設定,Cisco 3550
show mac addres & show arp ,也都沒有顯示該錯誤的MAC address

而且那台 Guest OS 網路是正常的,服務有提供Internet 存取,它連到Internet 也是OK的。
好在內部User 不是每個人都會直接連到那台Server,是偶有User 反應才去處理
基本上 GUEST 除非你用的實體網卡,如果用橋接的,他是用HOST 的網卡再跑
用HOST 的網卡要考量HOST 的因素,有可能HOST的網卡不支援HYPER V 某些服務應用造成的
建議如果是HOST 跟 GUEST 共用網卡,就換張網卡或加張網卡試試
ming9900 iT邦新手 5 級 ‧ 2024-08-29 23:48:31 檢舉
HOST 換或加網路卡,這沒試過,會不會也有可能是Driver 或Firmware 。
因為只有這台Guest OS 是Linux, 在同一台 Hyper-V 上面的其他Guest 都是Windows OS。
只是奇怪在不是全部的PC都會這樣,而且arp -d 清掉就OK。
這是一個可測試方向,或許我用備份還原到另一台不同型號的Server 試試看,因為也沒有換Host 交換驗證過,謝謝。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
sam0407
iT邦大師 1 級 ‧ 2024-08-29 09:38:01
最佳解答

用您提供的MAC前三碼"00-0b-ab"去查製造廠商,查到的是研華的設備。
若您提供的MAC只是示意,可到以下網址查詢:
https://maclookup.app/search

若新進的電腦不會,只有舊電腦會,讓我隔空通靈猜一下:
是否您們公司以前有研華的設備用的IP和這台IP的Guest一樣且遭受過ARP攻擊,所以之前的廠商或MIS有在這幾台舊電腦上開機時強制使用"ARP -s"指令去綁定這組IP及MAC ?

看更多先前的回應...收起先前的回應...
ming9900 iT邦新手 5 級 ‧ 2024-08-29 23:55:00 檢舉

arp -s 綁定MAC 我有想過,但用 arp -d 後,PC再重開機,挷定的 MAC 還會存在嗎?

這個我再驗證一下。

另外,該MAC 是真實抓到有問題的前置碼,所以,可能大大猜的或許很接近真相。

sam0407 iT邦大師 1 級 ‧ 2024-08-30 09:32:55 檢舉

前人應該是寫在開機時會自動執行arp -s指令,古早時代我會把這指令放在C:\Autoexec.bat去執行(以前為了多384KB記憶體,還要改c:\config.sys的時代)。

不過現在新的Windows還有沒有用到這檔案,我也不太清楚了~~

sam0407 iT邦大師 1 級 ‧ 2024-08-30 09:43:06 檢舉

剛查了一下,Win7以後開機要自動執行的指令會放在登錄檔的這裡:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

您可以比對一下舊電腦裡是不是比新電腦多執行特定的批次檔

ming9900 iT邦新手 5 級 ‧ 2024-08-30 11:03:02 檢舉

好,謝謝,我之前只有查 GPO &本機排程。
機碼這塊我沒查過。
如果新的PC不會,那有可能出在機碼上。

sam0407 iT邦大師 1 級 ‧ 2024-08-30 11:21:08 檢舉

本機使用者的啟動資料夾下也可以找找看:
C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

如果真的都還查不到,您可以試試鋸箭法:
寫個批次檔綁定您Guest OS的IP和MAC,放在舊電腦登錄檔Run的最後或放在登入使用者的啟動資料夾下試試。

ming9900 iT邦新手 5 級 ‧ 2024-08-30 14:38:18 檢舉

謝謝sam0407
今天找到問題了,還是在GPO裡~
GPO的名稱和這個 arp 設定看起來不像,而且裡面還有一些其他的設定。
在這條的啟動,看到有1個 XXX.bat 檔,點開看,的確是指令 arp -s ,而且還有好幾筆,只是其他IP在網路上已經不存在了。

這條GPO不是放在最上層,不是所有的OU都會套用它,加上不是所有人都會用這IP所提供的服務,所以才會抓不準。

這是歷史問題,不知道是那一任的人弄的,真想不通為何要這樣。

sam0407 iT邦大師 1 級 ‧ 2024-09-02 10:07:11 檢舉

這是歷史問題,不知道是那一任的人弄的,真想不通為何要這樣。

應該就是先前貴司受到ARP攻擊,臨時採用了鋸箭法,讓使用者可以不受攻擊的影響連上服務主機,建議您後續可以再去深入追蹤這問題,確認貴司的Switch是否已開啟防止ARP攻擊的相關設定。

ming9900 iT邦新手 5 級 ‧ 2024-09-02 14:40:28 檢舉

謝謝建議

我要發表回答

立即登入回答