Windows 2008 ละเว้นการร้องขอ ARP Gratuitous


38

เมื่อเร็ว ๆ นี้เราเห็นปัญหาหลังจากเราเตอร์ของเราล้มเหลวซึ่งกล่อง Windows 2008 ของเราไม่ได้เริ่มพูดคุยกับเราเตอร์หลักหลังจากล้มเหลว

เมื่อเราทำการขุดพวกเขายังมีรายการ ARP จากเราเตอร์ที่สอง ตามTechNet Blogนี่คือโดยการออกแบบ:

First, Windows Vista หรือ Windows Server 2008 จะไม่อัปเดตแคชเพื่อนบ้านถ้าการออกอากาศ ARP จะได้รับการยกเว้นในกรณีที่เป็นส่วนหนึ่งของการร้องขอการออกอากาศ ARP สำหรับผู้รับ สิ่งนี้หมายความว่าเมื่อ ARP ฟรีถูกส่งบนเครือข่ายด้วย Windows Vista และ Widows Server 2008 ระบบเหล่านี้จะไม่อัปเดตแคชด้วยข้อมูลที่ไม่ถูกต้องหากมีที่อยู่ IP ขัดแย้งกัน

ประการที่สองปรากฏว่า windows neighbour-cache (arp-cache) ได้รับการอัพเดตหากเครื่องไม่สามารถคุยกับเครื่องที่อยู่ในแคชได้ในขณะนี้ มันไม่ได้ส่งคำขอ ARP เป็นครั้งคราวเพื่อให้แน่ใจว่าแคชไม่เหม็นอับ แม้ว่านี่จะไม่ใช่ปัญหาในระหว่างการล้มเหลวครั้งแรกในระหว่างการล้มเหลวเมื่อกล่องทั้งสองยังมีชีวิตอยู่ทำให้หน้าต่างพูดคุยกับกล่องที่สอง

มีวิธีใดที่จะบังคับให้ Windows 2008 ยอมรับคำขอ ARP Gratuitous หรือไม่


ข้อมูลเพิ่มเติม: blog.serverfault.com/post/windows-2008-and-broken-arp
Bart De Vos

คำตอบ:


8

หลังจากการทดสอบดูเหมือนว่าHotfix 2582281 สามารถแก้ไขปัญหาได้ คุณจะได้รับการแก้ไขด่วนโดยไม่ต้องจ่ายเงินสนับสนุนของพวกเขาโดยใช้หน้าการร้องขอโปรแกรมแก้ไขด่วน

ฉันทดสอบการใช้งานนี้กับarpingwindows 2008 R2 ที่ยังไม่ได้ทำการเปรียบเทียบ ฉันเพิ่ม IP สำรอง, 64.34.119.80, ลงในเครื่องที่อยู่ในส่วน L2 เครือข่ายเดียวกัน จากนั้นผมก็ออกคำสั่งต่อไปจากที่แตกต่างกันเครื่องเครือข่าย ( sudo arping -U 64.34.119.80 -I bond0 -c1) หลังจากนั้นฉันก็ส่ง Ping ไปที่ 64.34.119.80 จากกล่องหน้าต่างหลังจากเห็นมันได้รับ arp ใน wireshark ฉันใช้โปรแกรมแก้ไขด่วนแล้วทดสอบซ้ำ

นอกจากนี้ดูเหมือนว่าคำสั่ง arping ไม่จำเป็นต้องใช้ที่อยู่ MAC unicast แต่เป็นการออกอากาศ MAC เพราะนี่เป็นประเภทเดียวของ GARP ที่ไม่สนใจการทดสอบของฉัน

ก่อนแพทช์:

ป้อนคำอธิบายรูปภาพที่นี่

ในการจับภาพ wireshark นี้ ping หลังจากคำขอ GARP ไม่ได้ถูกส่งไปยังปลายทาง MAC ที่ GARP มาจากดังนั้นคุณจะเห็นว่า GARP ถูกเพิกเฉย

หลังจากแพทช์:

ป้อนคำอธิบายรูปภาพที่นี่

ในการทดสอบนี้หลังจากแพตช์คำขอ GARP ดูเหมือนว่าจะได้รับเกียรติเนื่องจาก ping ถูกส่งไปยังที่อยู่ MAC ที่ GARP มาจาก

ดังนั้นจากการทดสอบเหล่านี้ดูเหมือนว่าโปรแกรมแก้ไขด่วน 2582281 แก้ไขปัญหาของการออกอากาศ GARP ที่ถูกละเว้น


4

เมื่อค้นคว้าปัญหา TCPIP ของฉันเองตอนนี้ฉันเจอ Hotfix ที่น่าสนใจมาก:

http://support.microsoft.com/kb/2582281

สาเหตุ:

ปัญหานี้เกิดขึ้นเนื่องจากสแต็ก TCP / IP ของแอปพลิเคชันเซิร์ฟเวอร์ละเว้นการร้องขอ Address Resolution Protocol (ARP) ที่ไม่จำเป็นอย่างไม่ถูกต้อง

ฟังดูแย่มากเหมือนที่คุณกำลังวิ่งเข้าไป และมันก็เป็นโปรแกรมแก้ไขด่วนตัวใหม่ล่าสุดเช่นกันเปิดตัว 7/22/2011 ดังนั้นจึงไม่เกิดขึ้นเมื่อคุณพบเจอครั้งแรก


ดูเหมือนว่า KB นี้จะหายไปหรือไม่
Kyle Brandt

@ KyleBrandt มันอยู่ที่นั่นและตอนนี้มันก็หายไป ฉันสงสัยว่าปัญหานี้ได้รับการครอบคลุมในเซอร์วิสแพ็ค / อัปเดตจากที่อื่นเป็นไปได้หรือไม่ที่นี่: support.microsoft.com/kb/2578103
sysadmin1138

3

ลองnetsh interface ipv4 set interface x basereachable=yที่ x คือดัชนีอินเทอร์เฟซและ y คือหมดเวลา ARP ในหน่วยมิลลิวินาทีที่คุณต้องการ อย่าลืมทำจากพรอมต์คำสั่งด้วยสิทธิ์ผู้ดูแลระบบ!


2
ที่จริงแล้วจะปรับเวลาเฉพาะเมื่อแคชเพื่อนบ้านคิดว่ารายการนั้นค้างและเข้าถึงได้ หากกล่อง HA ทั้งสองนั้นติดตั้งในขณะที่ล้มเหลว Windows จะไม่เห็นว่าเป็นข้อมูลเก่าและถูกลบซ้ำ
Zypher

1
ฉันไม่คิดว่าจะมีวิธีบังคับให้ Windows ยอมรับ ARP ที่ไม่มีค่าใช้จ่าย ในความเป็นจริงฉันต้องลดเวลาที่สามารถเข้าถึงได้เพื่อให้ได้ failover / failback ในสถานการณ์อื่นเนื่องจากสิ่งนี้
Ben

3

คุณใช้โปรโตคอล redundancy โปรโตคอลแรกอะไร

ฉันรู้ว่านี่ไม่ได้ตอบคำถามของคุณโดยตรง แต่ VRRP (และผู้ที่เป็นเจ้าของ HSRP) นั้นใช้ที่อยู่ MAC ที่ใช้ร่วมกันซึ่งพลิกไปที่พอร์ตสวิตช์ใหม่เมื่อเราเตอร์ต้นแบบเปลี่ยนไป สิ่งนี้ทำให้ ARP ไม่ต้องเสียค่าใช้จ่ายทั้งหมด


1

ข้อกำหนดเบื้องต้น
1. WinPCAP 4.0.1 (เวอร์ชั่น 4.1.2 ใช้งานไม่ได้)
- http://www.winpcap.org/archive/4.0.1-WinPcap.exe (เวอร์ชั่น Windows)
2. Wireshark 1.6.7
3. IPv6 ถูกปิดใช้งาน ในการเชื่อมต่อเครือข่ายเนื่องจากข้อ จำกัด arping
4. arping
- http://mathieu.carbou.free.fr/pub/arping/2.06/arping.zip (Windows Binary)

การดำเนินการ
1 รับ inteface ชื่อ
- "E: \ Program Files \ Wireshark \ tshark.exe "-D
- จากรายละเอียดอินเทอร์เฟซของ Wireshark
2. เรียกใช้ arping เพื่อส่งคำขอ ARP Gratuitous
- arping.exe -A -i \ Device \ NPF_ {4399F778-AF25-4B6D-AFFB-A1F2C7DFA667} 10.20.30.50 -c 3 -S 10.20.30.50
ที่ 10.20.30.50 เป็น ipaddress ที่คุณต้องการประกาศเครือข่าย (เราเตอร์)


-4

ผมพบนี้ในการเชื่อมโยงจากhttp://blog.serverfault.com/post/windows-2008-and-broken-arp/

คุณเคยถามเกี่ยวกับ stackoverflow หรือไม่คุณอาจแก้ไขได้เร็วขึ้น

สูดข้อมูลแพ็คเก็ต GARP และเรียกใช้ arp -s inet_addr eth_addr

อย่าทำสิ่งนี้หากมีโอกาสห่างไกลที่สุดที่ได้รับเครื่องที่เป็นศัตรูบนระบบ LAN ของคุณ


นั่นไม่ใช่การแก้ไข มันเป็นวิธีการแก้ปัญหาที่ทำงานบนเครื่องเดียว พฤติกรรมยังคงพัง สิ่งที่ทำคือการเปลี่ยนที่อยู่ในตาราง arp ด้วยตนเองไม่แก้ไขสาเหตุของพฤติกรรม
Zypher
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.