ขณะนี้ฉันกำลังดิ้นรนกับ Juniper Switch Stack
โทโพโลยีเป็นแบบนี้ โทโพโลยี
พอร์ตไคลเอ็นต์บนสแต็กได้รับการกำหนดค่าเป็นการเข้าถึงแบบแท็กด้วย dot1x (ผู้ร้องขอหลายรายการ) และสลับไปตามการรับรองความถูกต้องของ Radius วิธีนี้ใช้งานได้โดยไม่มีปัญหา และ VLAN ได้รับการกำหนดอย่างถูกต้อง
ไฟร์วอลล์ PFSense 2 ตัวจัดเตรียมหนึ่งอินสแตนซ์ DHCP สำหรับทุกๆ VLAN ในการกำหนดค่าเฟลโอเวอร์ด้วย CARP IP บนซับเน็ตเดียวกันกับ VLAN ดังนั้นจึงไม่จำเป็นต้องใช้รีเลย์ DHCP
ไคลเอ็นต์ Windows สามารถรับ IP และทำงานได้อย่างถูกต้อง แต่ไคลเอนต์ Linux และการบูต PXE ไม่ได้
จาก tcpdump และ Wireshark เราเห็นลูป DHCP Discover/Offer บนไคลเอนต์ Linux ข้อเสนอไปถึงลูกค้าแต่ลูกค้าไม่ส่งคำขอ DHCP เราลองใช้อนุพันธ์ของ Linux และการใช้งาน PXE หลายครั้ง แต่ก็ไม่มีโชค เรายังเปรียบเทียบการจับภาพ Wireshark จาก Windows และ Linux และไม่มีความแตกต่างอย่างแน่นอน
ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีการติดตามปัญหา?
ขอบคุณล่วงหน้า.
อัปเดต:
เพียงเพื่อเพิ่มข้อมูลเพิ่มเติม
ขั้นตอนการกำหนด IP เป็นดังนี้:
- ไคลเอ็นต์เริ่มทำงาน (NIC เชื่อมต่อกับสแต็กสวิตช์)
- Switch ตรวจสอบสิทธิ์ไคลเอ็นต์กับ Radius Server
- Radius Server ตอบรับด้วย Accept และ VLAN ID 940
- สแต็กสวิตช์กำหนด VLAN 940 ให้กับพอร์ตที่ไคลเอนต์กำลังเชื่อมต่อในโหมดผู้ร้องขอหลายคน
- ลูกค้าส่ง DHCP Discover ออกมา
- เซิร์ฟเวอร์ DHCP (ทั้ง PFSense) ตอบรับข้อเสนอ
- ลูกค้าส่งคำขอ DHCP
- เซิร์ฟเวอร์ DHCP ส่ง DHCP ACK
เห็นได้ชัดว่า 1-6 กำลังทำงานอยู่ ไคลเอนต์ได้รับมอบหมายให้เป็น VLAN 940 ผ่าน Radius Server ส่ง DHCP ออกมา ค้นหา PFSense ทั้งสองมีอินสแตนซ์ DHCP ที่กำหนดค่าสำหรับ VLAN 940 (ช่วง IP 10.94.0.1-200/24) และส่งข้อเสนอ
นี่คือ tcpdump บนหนึ่งในไฟร์วอลล์ PFsense ในกรณีที่ช่วยได้
18:55:25.538580 IP (tos 0x0, ttl 20, id 3, offset 0, flag [none], proto UDP (17), ความยาว 576)
0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, คำขอจาก 00:19:99:f7:3d:23 (oui Unknown), ความยาว 548, xid 0x99f73d23, วินาที 18, ค่าสถานะ [ ออกอากาศ] (0x8000)
Client-Ethernet-Address 00:19:99:f7:3d:23 (oui ไม่ทราบ)
ส่วนขยายผู้ขาย-rfc1048
คุกกี้วิเศษ 0x63825363
ข้อความ DHCP ตัวเลือก 53 ความยาว 1: ค้นพบ
ตัวเลือกคำขอพารามิเตอร์ 55 ความยาว 36:
Subnet-Mask, เขตเวลา, เกตเวย์เริ่มต้น, เซิร์ฟเวอร์เวลา
IEN-ชื่อเซิร์ฟเวอร์, ชื่อโดเมน-เซิร์ฟเวอร์, RL, ชื่อโฮสต์
BS, ชื่อโดเมน, SS, RP
EP, RSZ, TTL, BR
YD, YS, NTP, ผู้ขาย - ตัวเลือก
IP ที่ร้องขอ, Lease-Time, Server-ID, RN
RB, ระดับผู้จำหน่าย, TFTP, BF
ตัวเลือก 128, ตัวเลือก 129, ตัวเลือก 130, ตัวเลือก 131
ตัวเลือก 132, ตัวเลือก 133, ตัวเลือก 134, ตัวเลือก 135
MSZ ตัวเลือก 57 ความยาว 2: 1260
GUID ตัวเลือก 97 ความยาว 17: 0.72.178.216.253.99.205.17.226.190.154.221.134.53.14.178.59
ARCH ตัวเลือก 93 ความยาว 2: 0
NDI ตัวเลือก 94 ความยาว 3: 1.2.1
ตัวเลือกระดับผู้ขาย 60 ความยาว 32: "PXEClient:Arch:00000:UNDI:002001"
END ตัวเลือก 255, ความยาว 0
PAD Option 0 ความยาว 0 เกิดขึ้น 200
18:55:26.546900 IP (tos 0x10, ttl 128, id 0, offset 0, flag [none], proto UDP (17), ความยาว 334)
10.94.0.253.bootps > 255.255.255.255.bootpc: [udp sum ok] BOOTP/DHCP, ตอบกลับ, ความยาว 306, xid 0x99f73d23, วินาที 18, ค่าสถานะ [ออกอากาศ] (0x8000)
IP ของคุณ 10.94.0.5
Server-IP 10.91.0.1
Client-Ethernet-Address 00:19:99:f7:3d:23 (oui ไม่ทราบ)
ไฟล์ "pxelinux.0"
ส่วนขยายผู้ขาย-rfc1048
คุกกี้วิเศษ 0x63825363
ข้อความ DHCP ตัวเลือก 53 ความยาว 1: ข้อเสนอ
Server-ID ตัวเลือก 54 ความยาว 4: 10.94.0.253
Lease-Time ตัวเลือก 51 ความยาว 4: 600
Subnet-Mask ตัวเลือก 1 ความยาว 4: 255.255.255.0
ตัวเลือกเกตเวย์เริ่มต้น 3 ความยาว 4: 10.94.0.254
Domain-Name-Server ตัวเลือก 6 ความยาว 8: 10.0.2.1,10.0.2.2
ชื่อโดเมน ตัวเลือก 15 ความยาว 9: "domain.intra"
NTP ตัวเลือก 42 ความยาว 4: 10.94.0.254
TFTP ตัวเลือก 66 ความยาว 9: "10.91.0.1"
END ตัวเลือก 255, ความยาว 0
18:55:26.547180 IP (tos 0x10, ttl 128, id 0, offset 0, flag [ไม่มี], proto UDP (17), ความยาว 334)
10.94.0.252.bootps > 255.255.255.255.bootpc: [udp sum ok] BOOTP/DHCP, ตอบกลับ, ความยาว 306, xid 0x99f73d23, วินาที 18, ค่าสถานะ [ออกอากาศ] (0x8000)
IP ของคุณ 10.94.0.104
Server-IP 10.91.0.1
Client-Ethernet-Address 00:19:99:f7:3d:23 (oui ไม่ทราบ)
ไฟล์ "pxelinux.0"
ส่วนขยายผู้ขาย-rfc1048
คุกกี้วิเศษ 0x63825363
ข้อความ DHCP ตัวเลือก 53 ความยาว 1: ข้อเสนอ
Server-ID ตัวเลือก 54 ความยาว 4: 10.94.0.252
Lease-Time ตัวเลือก 51 ความยาว 4: 600
Subnet-Mask ตัวเลือก 1 ความยาว 4: 255.255.255.0
ตัวเลือกเกตเวย์เริ่มต้น 3 ความยาว 4: 10.94.0.254
Domain-Name-Server ตัวเลือก 6 ความยาว 8: 10.0.2.1,10.0.2.2
ชื่อโดเมน ตัวเลือก 15 ความยาว 9: "domain.intra"
NTP ตัวเลือก 42 ความยาว 4: 10.94.0.254
TFTP ตัวเลือก 66 ความยาว 9: "10.91.0.1"
END ตัวเลือก 255, ความยาว 0
ลูกค้าเห็นสิ่งเดียวกันแต่เพิกเฉย
ดูผิดหรือเปล่า?
มันใช้งานได้ถ้าฉันทำเช่นเดียวกันกับ Linux VM บนสวิตช์ฝั่งเซิร์ฟเวอร์ (ที่เชื่อมต่อ Radius Server) ดังนั้นฉันค่อนข้างแน่ใจว่าปัญหาอยู่ใน Juniper Switch Stack
อัปเดต 2:
ข้อสันนิษฐานของฉันเกี่ยวกับปัญหาใน Switch Stack นั้นถูกต้อง ดูเหมือนว่าโหมดพอร์ต "tagged-access" จะไม่ทำงานอย่างที่ควรจะเป็น การเปลี่ยนไปใช้โหมดพอร์ต "การเข้าถึง" ช่วยแก้ปัญหาได้ แต่มันไม่สมเหตุสมผลสำหรับฉันเนื่องจากโหมด "การเข้าถึง" ไม่ควรจัดการผู้ร้องขอหลายคนใน VLAN ที่แตกต่างกัน แต่เห็นได้ชัดว่าเป็นเช่นนั้น