ฉันทำงานในสภาพแวดล้อมเครือข่ายที่ฉันมีเซิร์ฟเวอร์ Cisco Switch WS-C3560X-48 และ Linux ที่ใช้ CentOS 7.7
เซิร์ฟเวอร์ linux เชื่อมต่อกับสวิตช์ของฉัน 3 ครั้ง: ลิงก์ผู้ดูแลระบบหนึ่งลิงก์ หนึ่งลิงก์ที่ใช้งานจริง และหนึ่งลิงก์ ILO เนื่องจากทำงานบนฮาร์ดแวร์ของ HP
เมื่อฉันพยายาม ping เซิร์ฟเวอร์บน LAN ของผู้ดูแลระบบจากสวิตช์ Cisco ฉันได้รับผลลัพธ์ต่อไปนี้:
SWTCisco#ping 10.123.213.152 ที่มา 10.123.213.158 ทำซ้ำ 100
พิมพ์ลำดับการหลบหนีเพื่อยกเลิก
กำลังส่ง ICMP Echos 100, 100 ไบต์ไปที่ 10.123.213.152 หมดเวลา 2 วินาที:
แพ็กเก็ตที่ส่งไปพร้อมกับที่อยู่ต้นทางคือ 10.123.213.158
!!!!!!!.!!!!!!!!.!!!!!!!!!.!!!!!!!!!.!!!!!!!!!!.!!!!!!!!.!!!!!!!!.! !!!!!.!!!!!!!!.!!!!!!!!.
!!!!!!!.!!!!!!!!.!!!!!!!!.!!!!!!!!!.!!!
อัตราความสำเร็จคือ 86 เปอร์เซ็นต์ (86/100) ไป-กลับ ต่ำสุด/เฉลี่ย/สูงสุด = 1/3/17 มิลลิวินาที
อย่างที่คุณเห็น ฉันมีรูปแบบ ฉันมักจะสูญเสียแพ็กเก็ตในการ ping ครั้งที่ 7 ที่ฝั่งเซิร์ฟเวอร์ ฉันสามารถดูด้วย tcpdump ว่าได้รับคำขอ icmp แต่ไม่ได้ส่งการตอบกลับ icmp จากตัวอย่างด้านล่าง ฉันใช้เซิร์ฟเวอร์ 8 ครั้ง และเราพบว่าคำขอ 2 รายการตามหลังกัน
root@CentOSserver:/etc/sysconfig/network-scripts# tcpdump -i โฮสต์ eno1 10.123.213.158 -nn
tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v หรือ -vv สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟังบน eno1, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการบันทึก 262144 ไบต์
11:37:04.770292 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 0, ความยาว 80
11:37:04.770354 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 0, length 80
11:37:04.772624 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 1, ความยาว 80
11:37:04.772644 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 1, length 80
11:37:04.774394 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 2, ความยาว 80
11:37:04.774411 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 2, length 80
11:37:04.776592 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 3, ความยาว 80
11:37:04.776606 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 3, length 80
11:37:04.789083 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 4, ความยาว 80
11:37:04.789099 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 4, length 80
11:37:04.791466 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 5, ความยาว 80
11:37:04.791483 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 5, length 80
11:37:04.793669 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 6, ความยาว 80
11:37:04.822159 ARP, Request who-has 10.123.213.158 บอก 10.123.213.144 ความยาว 46
11:37:06.793024 IP 10.123.213.158 > 10.123.213.152: คำขอเสียงสะท้อน ICMP, id 134, seq 7, ความยาว 80
11:37:06.793068 IP 10.123.213.152 > 10.123.213.158: ICMP echo reply, id 134, seq 7, length 80
10.123.213.158 คือที่อยู่ของ vlan บน Cisco Switch ของฉัน
10.123.213.152 เป็นที่อยู่ของ eno1 บน Linux Server
10.123.213.144 คือที่อยู่ ILO ของเซิร์ฟเวอร์อื่นที่ส่งคำขอ arp ขณะที่ tcpdump ของฉันกำลังทำงาน
หลังจากการตรวจสอบใหม่ ฉันพบว่าปัญหาเกี่ยวข้องกับ spanning-tree ฉันโฮสต์ pcap ของสิ่งที่ฉันพบ
https://filebin.net/9x9ech3uude93sda
ใน pcap เราจะเห็นว่ามีแพ็กเก็ต STP ระหว่างคำขอ 2 icmp ฉันพยายามหลายครั้งและทุกครั้ง แพ็กเก็ต STP คือที่ที่ฉันควรจะพบการตอบกลับของฉัน
สำหรับฉันแล้ว นี่เป็นเพียงข้อความ bpdu และไม่ควรมีผลกระทบใดๆ กับอินเทอร์เฟซ GigabitEthernet0/27 ของฉัน
ไม่มีอะไรที่น่าตกใจเป็นพิเศษ (สำหรับฉัน) ปรากฏบนการกำหนดค่า spanning tree บน cisco :
SWTCisco#sh spanning-tree vlan 28
VLAN0028
Spanning Tree เปิดใช้งานโปรโตคอล ieee
ลำดับความสำคัญของรหัสรูท 32796
ที่อยู่ 501c.bf45.1c00
สะพานนี้เป็นราก
สวัสดีเวลา 2 วินาที อายุสูงสุด 20 วินาที ดีเลย์ไปข้างหน้า 15 วินาที
ลำดับความสำคัญของ Bridge ID 32796 (ลำดับความสำคัญ 32768 sys-id-ext 28)
ที่อยู่ 501c.bf45.1c00
สวัสดีเวลา 2 วินาที อายุสูงสุด 20 วินาที ดีเลย์ไปข้างหน้า 15 วินาที
Aging Time 300 วินาที
บทบาทส่วนต่อประสานค่าใช้จ่ายประเภท Prio.Nbr
------------------- ---- --- --------- -------- ------- -------------------------
Gi0/11 Desg FWD 4 128.11 P2p
Gi0/18 Desg FWD 4 128.18 P2p
Gi0/19 Desg FWD 4 128.19 P2p
Gi0/20 Desg FWD 4 128.20 P2p
Gi0/21 Desg FWD 19 128.21 P2p
Gi0/22 Desg FWD 4 128.22 P2p
Gi0/23 Desg FWD 4 128.23 P2p
Gi0/24 Desg FWD 4 128.24 P2p
Gi0/25 Desg FWD 4 128.25 P2p
Gi0/26 Desg FWD 4 128.26 P2p
Gi0/27 Desg FWD 4 128.27 P2p
Gi0/31 Desg FWD 4 128.31 P2p
Gi0/32 Desg FWD 19 128.32 P2p
Gi0/33 Desg FWD 4 128.33 P2p
Gi0/34 Desg FWD 4 128.34 P2p
Gi0/35 Desg FWD 4 128.35 P2p
Gi0/36 Desg FWD 4 128.36 P2p
Gi0/37 Desg FWD 4 128.37 P2p
Gi0/38 Desg FWD 4 128.38 P2p
Gi0/39 Desg FWD 4 128.39 P2p
Gi0/40 Desg FWD 4 128.40 P2p
Gi0/47 Desg FWD 19 128.47 P2p
Gi1/3 Desg FWD 4 128.51 P2p
SWTCisco#sh เรียกใช้ int gigabitEthernet 0/27
การกำหนดค่าอาคาร...
การกำหนดค่าปัจจุบัน : 113 ไบต์
!
อินเทอร์เฟซ GigabitEthernet0/27
การเข้าถึง switchport vlan 28
การเข้าถึงโหมดสวิตช์พอร์ต
จบ
SWTCisco#sh spanning-tree บล็อกพอร์ต
ชื่อรายการอินเทอร์เฟซที่ถูกบล็อก
-------------------- ------------------------------ ------
จำนวนพอร์ตที่ถูกบล็อก (ส่วน) ในระบบ : 0
สรุป SWTCisco#sh spanning-tree
สวิตช์อยู่ในโหมด pvst
รูทบริดจ์สำหรับ: VLAN0028, VLAN0031, VLAN3715
เปิดใช้งานการป้องกัน EtherChannel misconfig
เปิดใช้งาน ID ระบบเพิ่มเติม
Portfast Default ถูกปิดใช้งาน
ค่าเริ่มต้นของ PortFast BPDU Guard ถูกปิดใช้งาน
ค่าเริ่มต้นของตัวกรอง Portfast BPDU ถูกปิดใช้งาน
ค่าเริ่มต้นของ Loopguard ถูกปิดใช้งาน
UplinkFast ถูกปิดใช้งาน
BackboneFast ถูกปิดใช้งาน
วิธีการ Configed Pathcost ที่ใช้เป็นแบบสั้น
การบล็อกชื่อ การฟัง การส่งต่อการเรียนรู้ STP ใช้งานอยู่
---------------------- -------- --------- -------- --- ------- ----------
VLAN0028 0 0 0 23 23
VLAN0031 0 0 0 12 12
VLAN0157 0 0 0 1 1
VLAN3715 0 0 0 1 1
---------------------- -------- --------- -------- --- ------- ----------
4 vlans 0 0 0 37 37
รุ่น SWTCisco#sh | ในการเปิดตัว
ซอฟต์แวร์ Cisco IOS, ซอฟต์แวร์ C3560E (C3560E-UNIVERSALK9-M), เวอร์ชัน 12.2(55)SE5, ซอฟต์แวร์เผยแพร่ (fc1)
BOOTLDR: C3560E Boot Loader (C3560X-HBOOT-M) เวอร์ชัน 12.2(53r)SE1, ซอฟต์แวร์ RELEASE (fc1)
ฉันดูอินเทอร์เฟซ Gi0/27 ของฉันในขณะที่ ping ทำงานและอินเทอร์เฟซยังคงอยู่ในสถานะ FWD
ไม่มีใครมีความคิดว่าเหตุใดฉันจึงสูญเสียแพ็กเก็ตในขณะที่สวิตช์กำลังส่งเฟรม bdpu ฉันมีปัญหาในการทำความเข้าใจฟังก์ชัน stp ขั้นสูงบางอย่าง ดังนั้นฉันอาจพลาดบางอย่างที่นี่