Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Native VLAN

    Native VLAN trong 802.1Q trên Cisco IOS — Một khái niệm nhỏ nhưng rất quan trọng


    Khi học về 802.1Q trunking, nhiều người tập trung vào VLAN tagging mà đôi khi bỏ qua một thành phần cực kỳ quan trọng: Native VLAN.

    Thực tế, rất nhiều lỗi trunk, mismatch, thậm chí một số lỗ hổng bảo mật (VLAN hopping) đều liên quan đến native VLAN.

    Hôm nay ta bóc tách khái niệm này theo kiểu CCNA lên CCIE.
    1. Native VLAN là gì?


    Trong chuẩn IEEE 802.1Q, khi một frame đi qua trunk link, switch sẽ thêm một VLAN tag vào Ethernet frame để định danh nó thuộc VLAN nào.

    Ví dụ:
    • VLAN 10 → gắn tag VLAN 10
    • VLAN 20 → gắn tag VLAN 20

    Nhưng có một ngoại lệ:

    Traffic thuộc Native VLAN mặc định sẽ không được gắn tag (untagged).

    Đây chính là ý nghĩa của Native VLAN.
    2. Mặc định Native VLAN là VLAN 1


    Trên Cisco switch:
    Switch(config-if)#switchport mode trunk

    Mặc định:
    Native VLAN = VLAN 1

    Kiểm tra:
    show interfaces fa0/24 trunk

    Kết quả:
    Port Mode Encapsulation Status Native vlan
    Fa0/24 on 802.1q trunking 1

    (Tài liệu minh họa rõ ở trang 2)
    3. Điều gì xảy ra với frame untagged?


    Nếu một switch nhận frame không có VLAN tag trên cổng trunk:

    Switch sẽ giả định:
    Frame này thuộc Native VLAN

    Ví dụ:
    • Untagged frame đi vào trunk
    • Native VLAN = 10

    => Frame được đưa vào VLAN 10.
    4. Vì sao phải tồn tại Native VLAN?


    Một số control-plane protocols truyền untagged:
    • CDP
    • VTP
    • DTP
    • PAgP
    • LACP (trong vài trường hợp platform dependent)

    Trong Wireshark ở tài liệu, CDP frame xuất hiện untagged trên native VLAN. (trang 2)

    Đó là lý do native VLAN tồn tại.
    5. Đổi Native VLAN


    Thông thường best practice là không dùng VLAN 1.

    Ví dụ đổi thành VLAN 10:
    SW1(config)#interface fa0/24
    SW1(config-if)#switchport trunk native vlan 10

    SW2(config)#interface fa0/24
    SW2(config-if)#switchport trunk native vlan 10

    Kiểm tra:
    show interfaces trunk

    Sẽ thấy:
    Native vlan 10

    (Tài liệu minh họa ở trang 3)
    6. Native VLAN Mismatch — lỗi rất hay gặp


    Nếu hai đầu trunk khác nhau:

    Switch A:
    native vlan 10

    Switch B:
    native vlan 20

    Sẽ sinh lỗi:
    CDP-4-NATIVE_VLAN_MISMATCH

    Vì:

    Frame untagged từ A được B cho là thuộc VLAN 20.

    Hậu quả:
    • Traffic đi sai VLAN
    • Layer 2 loop kỳ lạ
    • STP bất thường
    • Security risk

    Đây là lỗi kinh điển trong production.
    7. Tag luôn Native VLAN (Best Practice nâng cao)


    Cisco hỗ trợ bắt cả native VLAN phải tagged:
    vlan dot1q tag native

    Cấu hình global:
    SW(config)#vlan dot1q tag native

    (Tài liệu trang 3 có minh họa)
    Điều này thay đổi gì?


    Bình thường:
    Native VLAN traffic = untagged

    Sau lệnh này:
    Native VLAN traffic = tagged luôn

    Không còn untagged traffic trên trunk.

    Đây là best practice rất tốt.
    8. Liên quan bảo mật — VLAN Hopping Attack


    Một kiểu tấn công cổ điển: Double Tagging Attack


    Attacker gửi frame:
    Outer tag = Native VLAN
    Inner tag = Target VLAN

    Switch đầu:
    • bỏ outer tag (do native VLAN)

    Switch sau:
    • thấy inner tag và forward vào VLAN mục tiêu.

    Kẻ tấn công “nhảy VLAN”.

    Mitigation:
    • Không dùng VLAN 1 làm native
    • Dùng VLAN rác không dùng cho user
    • Tag native VLAN:
    vlan dot1q tag native
    9. Voice VLAN cũng liên quan Native VLAN


    IP Phone Cisco thường:
    • Data VLAN untagged
    • Voice VLAN tagged

    Ví dụ:
    switchport access vlan 10
    switchport voice vlan 20

    PC traffic:
    • untagged → VLAN 10

    Voice:
    • tagged → VLAN 20

    Đây là cùng nguyên lý native/untagged.
    10. Cấu hình hoàn chỉnh

    interface fa0/24
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk native vlan 10

    Best practice thêm:
    vlan dot1q tag native
    11. Best Practices (CCIE style)


    ✔ Không dùng VLAN 1 làm native VLAN

    ✔ Dùng VLAN không sử dụng cho user:
    999
    4094

    (thường gặp)

    ✔ Native VLAN phải match hai đầu trunk

    ✔ Tag native VLAN nếu có thể

    ✔ Tắt DTP trên trunk tĩnh:
    switchport nonegotiate
    12. Một điều hay bị hiểu sai


    Nhiều người nghĩ:
    Native VLAN = management VLAN

    Sai.

    Management VLAN có thể là VLAN 99.

    Native VLAN có thể là VLAN 999.

    Hai khái niệm độc lập.
    Tóm tắt nhanh


    Native VLAN:
    • là VLAN xử lý untagged traffic trên trunk
    • mặc định VLAN 1
    • có thể thay đổi:
    switchport trunk native vlan X
    • có thể ép tag:
    vlan dot1q tag native
    • mismatch gây lỗi và risk bảo mật.

    Một câu hỏi CCIE hay gặp:


    Nếu cả hai đầu trunk đều bật vlan dot1q tag native, Native VLAN còn “native” không?

    Về logic vẫn là native VLAN, nhưng lúc này nó không còn untagged nữa.

    Đây là chỗ nhiều người dễ nhầm.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X