บทที่ 29 · Security

802.1X Port Authentication Lab

พอร์ต GE0/0/1 ของ SW1 เป็นพอร์ตโต๊ะทำงาน ตอนนี้ใครเดินมาเสียบสายก็ใช้เน็ตได้เลย — งานของคุณคือบังคับ 802.1X: เครื่องที่จะใช้พอร์ตนี้ต้องยืนยันตัวตน (username/password) ผ่านไปยัง RADIUS server ภายนอก ก่อน ถ้า RADIUS ตอบ Accept พอร์ตถึงจะเปิด (และรับ VLAN ที่ RADIUS กำหนดมาให้ด้วย) ถ้า Reject หรือเครื่องไม่มี 802.1X supplicant → พอร์ตยังปิดกั้นอยู่

RADIUS server · 10.1.50.10:1812 · shared-key Huawei@123 staff01 → Accept, VLAN 10 guest99 → Reject (ไม่มีในระบบ) พอร์ตที่คุม: GE0/0/1

Topology — สถานะสด

Terminal — SW1

<SW1>

คำสั่งอ้างอิง — คลิกเพื่อแทรกลงเทอร์มินัล

รองรับ system-view, radius-server template, radius-server authentication <ip> <port>, radius-server shared-key cipher, aaa, authentication-scheme, authentication-mode radius, dot1x-access-profile name, dot1x authentication-method eap, authentication-profile name (system view), dot1x-access-profile <name> / authentication-scheme <name> / radius-server <name> (ใน authentication-profile view), interface, port link-type access, port default vlan, authentication-profile <name> (ที่พอร์ต), quit/return และ display หลัก ๆ — ปุ่มใต้ไดอะแกรมจำลองเครื่องเสียบเข้าพอร์ต (ไม่ใช่คำสั่ง CLI) — กด Tab เพื่อเติมคำสั่งอัตโนมัติ หรือกด ? เพื่อดูคำสั่งที่เป็นไปได้ในตำแหน่งนั้น เหมือนอุปกรณ์จริง

อ้างอิงจาก Huawei S300, S500, S1720, S2700, S5700, S6720 V200R024 Configuration Guide – Security ("NAC Configuration" — unified mode, 802.1X authentication)

สรุปท้ายบท — เข้าใจภาพรวม

บทนี้แก้ปัญหาอะไร

พอร์ต access เปิดโล่ง ใครเดินมาเสียบก็เข้าเครือข่ายได้ — 802.1X บังคับให้เครื่อง (supplicant) ยืนยันตัวตนผ่าน EAP ไปยัง RADIUS ก่อน พอร์ตจึงเปลี่ยนจาก unauthorized เป็น authorized และ RADIUS ยังสั่ง VLAN / ACL กลับมาให้พอร์ตได้ตามตัวผู้ใช้

ใช้เมื่อไหร่ · ไม่ควรใช้เมื่อไหร่

  • ใช้: พอร์ตผู้ใช้ทุกจุดที่ต้องการ NAC จริง (รู้ว่าใครเสียบ ไม่ใช่แค่ MAC ไหน — ต่างจาก Port Security)
  • เครื่องที่พูด 802.1X ไม่ได้ (เครื่องพิมพ์ / IP camera / IoT) → เปิด MAC Authentication Bypass (MAB) หรือ guest-VLAN ควบคู่
  • อัพลิงก์ระหว่างสวิตช์ / พอร์ต server → ไม่ต้องทำ 802.1X
  • ยังไม่มี RADIUS ในองค์กร → เริ่มที่ Port Security ไปก่อน

จุดที่คนมักพลาด

  • อ้าง dot1x-access-profile / authentication-scheme / radius-server ใน authentication-profile ก่อนสร้างของจริง → error "ยังไม่มีชื่อนี้" ต้องสร้างให้ครบก่อนอ้าง
  • shared-key ไม่ตรงกับฝั่ง RADIUS → server เงียบ (ไม่ตอบ) พอร์ตค้าง authenticating แล้ว timeout — ไม่ใช่ Reject
  • เครื่องไม่มี supplicant → ไม่มี EAPOL เลย พอร์ตค้าง unauthorized (ไม่ใช่ Reject) จนกว่าจะมี MAB / guest-VLAN
  • Dynamic VLAN ใช้ได้ต่อเมื่อ RADIUS ส่ง attribute กลับมา และ VLAN นั้นมีอยู่บนสวิตช์แล้ว
  • ตั้ง dot1x authentication-method เป็น chap / pap แล้วจะทำ PEAP-MSCHAPv2 / EAP-TLS ไม่ได้ — โหมดนั้นสวิตช์ terminate EAP ไปแล้ว ต้องใช้ eap (relay) ถ้าต้องการ EAP tunnel / ใบรับรอง
  • ลืม port link-type access ก่อนผูก authentication-profile

คำสั่งในบทนี้ — ใช้ทำอะไร

radius-server template <name>
สร้างเทมเพลตชี้ไป RADIUS server ภายนอก
radius-server authentication <ip> <port>
IP + พอร์ต (ปกติ 1812) ของ RADIUS ที่ใช้ auth
radius-server shared-key cipher <key>
รหัสลับที่ต้องตรงกับฝั่ง RADIUS
authentication-scheme <name> → authentication-mode radius
(ใน aaa) บอกว่า auth ใช้ RADIUS ไม่ใช่ local
dot1x-access-profile name <name> → dot1x authentication-method eap
โปรไฟล์ 802.1X · เลือก method ได้ 3 แบบ: eap (default, EAP relay — สวิตช์ส่งผ่าน, รองรับ PEAP-MSCHAPv2 / EAP-TLS), chap / pap (EAP termination — สวิตช์แกะ EAP แล้วส่งต่อ RADIUS เป็น CHAP/PAP, ใช้ได้เฉพาะ username/password ทำ cert-based ไม่ได้)
authentication-profile name <name>
รวม dot1x-access-profile + authentication-scheme + radius-server เข้าด้วยกัน
authentication-profile <name> (ที่ interface)
เปิด 802.1X บนพอร์ตนั้นโดยผูกโปรไฟล์ที่ประกอบไว้

เชื่อมกับบทอื่น