บทที่ 2 CCNP-Encor: VLAN

บทความโดย ดร. วิรินทร์ เมฆประดิษฐสิน

ในการเรียนการสอนด้าน Network Engineering พื้นฐานที่สำคัญที่สุดอย่างหนึ่งคือ VLAN (Virtual Local Area Network) ซึ่งเป็นการแบ่งกลุ่มการเชื่อมต่อในระดับ Layer 2 (Data Link Layer) ให้แยกออกจากกันโดยไม่ขึ้นอยู่กับตำแหน่งทางกายภาพของอุปกรณ์

1. VLAN คืออะไร? (Definition)

ตามปกติแล้ว Switch หนึ่งตัวจะถือเป็น 1 Broadcast Domain หมายความว่าถ้ามีคอมพิวเตอร์เครื่องหนึ่งส่งสัญญาณ Broadcast ทุกเครื่องที่ต่อกับ Switch ตัวนั้นจะได้รับข้อมูลทั้งหมด

VLAN คือเทคโนโลยีที่ช่วยให้เรา “หั่น” Switch ตัวเดียวให้ทำงานเสมือนเป็น Switch หลายตัวแยกกัน (Logical Segmentation) เพื่อจำกัดขอบเขตของ Broadcast Domain ให้เล็กลง

2. ทำไมต้องใช้ VLAN? (Key Benefits)

  • Security: แยกแผนกที่มีข้อมูลสำคัญ (เช่น การเงิน) ออกจากแผนกทั่วไป แม้จะใช้ Switch ตัวเดียวกัน แต่ข้อมูลจะไม่รั่วไหลข้ามกลุ่มหากไม่มี Router หรือ Layer 3 Switch
  • Performance: ลดปริมาณ Traffic ที่ไม่จำเป็น (Broadcast Storms) ทำให้ Bandwidth ของเครือข่ายมีประสิทธิภาพมากขึ้น
  • Flexibility: ช่วยให้การจัดกลุ่มผู้ใช้งานทำได้ง่ายขึ้น เช่น ย้ายที่นั่งทำงานแต่ยังอยู่ VLAN เดิมได้โดยไม่ต้องเดินสายใหม่
  • Cost Reduction: ลดจำนวน Hardware ที่ต้องซื้อ เพราะใช้ Switch ประสิทธิภาพสูงตัวเดียวแทนการซื้อ Switch เล็กๆ หลายตัว

3. ประเภทของ VLAN Membership

การกำหนดว่า Port ไหนจะอยู่ VLAN อะไร ส่วนใหญ่ทำได้ 2 วิธีหลัก

  1. Static VLAN (Port-based): ผู้ดูแลระบบกำหนด Port ที่ระบุไว้ให้เป็นของ VLAN นั้นๆ (นิยมที่สุดและเสถียรที่สุด)
  2. Dynamic VLAN: กำหนดตาม MAC Address ของอุปกรณ์ที่มาเสียบ (ต้องใช้ฐานข้อมูลกลาง เช่น VMPS หรือ RADIUS)

4. VLAN Tagging (IEEE 802.1Q)

เมื่อต้องการส่งข้อมูล VLAN ข้ามไปยัง Switch ตัวอื่น (ผ่านสายเส้นเดียวที่เรียกว่า Trunk Line) ข้อมูลจะต้องมีการ “แปะป้าย” หรือ Tagging เพื่อให้ Switch ปลายทางรู้ว่าข้อมูลนี้เป็นของ VLAN ไหน

  • Standard: มาตรฐานสากลคือ IEEE 802.1Q (Dot1q)
  • VLAN ID Range: มีค่าตั้งแต่ 1 ถึง 4094
    • Normal Range: 1–1005 (VLAN 1 คือ Default VLAN ที่ลบไม่ได้)
    • Extended Range: 1006–4094 (สำหรับ Enterprise ขนาดใหญ่)

5. ประเภทของ Ports บน Switch

  • Access Port: เป็น Port ที่เชื่อมต่อกับ End-device (PC, Printer, IP Phone) โดยจะรับส่งข้อมูลของ 1 VLAN เท่านั้น
  • Trunk Port: เป็น Port ที่เชื่อมต่อระหว่าง Switch-to-Switch หรือ Switch-to-Router โดยสามารถส่งข้อมูลของ หลาย VLAN พร้อมกัน ผ่านสายเส้นเดียว

6. การทำให้ VLAN คุยกันได้ (Inter-VLAN Routing)

โดยธรรมชาติแล้วอุปกรณ์ต่าง VLAN จะคุยกันไม่ได้ (Isolated) หากต้องการให้สื่อสารกันต้องมีอุปกรณ์ Layer 3 มาช่วย

  1. Router-on-a-Stick: ใช้ Router 1 Interface แบ่งเป็น Sub-interfaces เพื่อทำ Routing ให้แต่ละ VLAN
  2. Multilayer Switch (L3 Switch): ใช้ SVI (Switch Virtual Interface) ในการทำ Routing ภายในตัว Switch เอง ซึ่งจะมีประสิทธิภาพสูงกว่า (Wire-speed)

Case Study: วิทยาลัยเทคโนโลยีสารสนเทศ (Academic Environment)

1. สถานการณ์ (The Challenge)

วิทยาลัยมีอาคารเรียน 3 ชั้น เดิมใช้ Switch ตัวเดียว (Flat Network) เชื่อมต่อคอมพิวเตอร์ 150 เครื่อง ทั้งของ อาจารย์ (Staff), นักศึกษา (Students) และ ห้อง Lab คอมพิวเตอร์ เข้าด้วยกัน

  • ปัญหาที่พบ: นักศึกษาสามารถเข้าถึงไฟล์ส่วนตัวของอาจารย์ได้, ระบบช้าลงเพราะมี Broadcast Traffic จากโปรแกรมเรียนออนไลน์สูงมาก และหากเครื่องใดติดไวรัสจะลามไปทั้งตึกทันที

2. การออกแบบ (VLAN Design Solution)

เราจะทำการแบ่ง Logical Segmentation ออกเป็น 4 VLANs หลัก เพื่อความปลอดภัยและการบริหารจัดการที่ง่ายขึ้น

VLAN IDNamePurposeSecurity Policy
VLAN 10Staffสำหรับอาจารย์และเจ้าหน้าที่เข้าถึง Server ภายในและ Internet ได้เต็มที่
VLAN 20Studentsสำหรับนักศึกษา (Wi-Fi/LAN)เข้าถึง Internet ได้ แต่ห้ามคุยกับ VLAN 10
VLAN 30Lab_Roomสำหรับเครื่องในห้อง Labจำกัด Bandwidth และบล็อกเว็บที่ไม่เกี่ยวข้อง
VLAN 99Managementสำหรับจัดการ Switch/APเฉพาะ Admin IT เท่านั้นที่เข้าถึง Port นี้ได้

3. อุปกรณ์และการเชื่อมต่อ (Implementation)

ในกรณีของคุณ หากใช้ FortiGate 60D เป็น Gateway และ Switch (เช่น Cisco หรือ Omada) จะมีขั้นตอนดังนี้:

A. Config บน Core Switch (Trunk Port)

เชื่อมต่อสาย LAN จาก FortiGate มาที่ Switch โดยตั้งค่า Port นั้นเป็น Trunk Mode เพื่อให้ข้อมูล Tagging (802.1Q) ของทุก VLAN วิ่งผ่านสายเส้นเดียวได้

interface GigabitEthernet0/1

 description Link_to_FortiGate

 switchport mode trunk

 switchport trunk allowed vlan 10,20,30,99

B. Config บน Access Switch (Access Port)

กำหนด Port ที่หน้าโต๊ะอาจารย์ให้อยู่ใน VLAN 10 และห้อง Lab อยู่ใน VLAN 30

interface GigabitEthernet0/5

 description Staff_PC

 switchport mode access

 switchport access vlan 10

C. Router-on-a-Stick (บน FortiGate)

สร้าง Sub-interfaces บน Port ของ FortiGate เพื่อทำหน้าที่เป็น Default Gateway ของแต่ละ VLAN

  • VLAN 10: 192.168.10.1
  • VLAN 20: 192.168.20.1
  • VLAN 30: 192.168.30.1

4. ผลลัพธ์ที่ได้ (Key Outcomes)

  • Security: นักศึกษาใน VLAN 20 ไม่สามารถ Scan หา IP ของเครื่องอาจารย์ใน VLAN 10 ได้ (ยกเว้นจะทำ Inter-VLAN Routing และอนุญาตใน Firewall Policy)
  • Performance: Traffic ของการโหลดไฟล์ขนาดใหญ่ในห้อง Lab (VLAN 30) จะไม่รบกวนการทำงานของเจ้าหน้าที่ใน VLAN 10
  • Manageability: หากต้องการจำกัด Bandwidth ให้นักศึกษา สามารถทำได้ทันทีที่ระดับ VLAN โดยไม่กระทบส่วนงานอื่น

Case study ของ office ระดับ enterprise

สำหรับ Case Study ในระดับ Enterprise จะมีความซับซ้อนกว่าระดับทั่วไปมาก เพราะต้องคำนึงถึง High Availability (HA), Scalability และที่สำคัญที่สุดคือ Security Compliance (เช่น ISO 27001 หรือ NIST)

นี่คือการออกแบบเครือข่าย VLAN สำหรับสำนักงานใหญ่ (Headquarters) ขององค์กรขนาดใหญ่ที่มีพนักงาน 500-1,000 คนขึ้นไป

Case Study: Enterprise Smart Office Segmentation

1. โจทย์และความต้องการ (Business Requirements)

  • User Diversity: มีทั้งพนักงานประจำ, Outsource, ผู้บริหาร และแขก (Guests)
  • Service Criticality: ระบบ IP Phone และ Video Conference ห้ามกระตุก
  • Security: อุปกรณ์ IoT (กล้องวงจรปิด, เครื่องสแกนนิ้ว) ต้องถูกแยกออกจาก Data Network โดยเด็ดขาด
  • Redundancy: หาก Switch ตัวใดตัวหนึ่งเสีย ระบบต้องไม่ล่ม (Core Switch Redundancy)

2. การวางโครงสร้าง VLAN (Enterprise Standard)

มักจะใช้การแบ่ง VLAN ตาม “หน้าที่ของอุปกรณ์” (Functional Segmentation) มากกว่าการแบ่งตามแผนกเพียงอย่างเดียว

VLAN IDNameDescriptionPriority (QoS)
VLAN 10Corporate Dataพนักงานทั่วไป (Wired LAN)Medium
VLAN 20Voice / VoIPIP Phones (Auto-VLAN)High (Critical)
VLAN 30Wi-Fi Employee802.1X Authentication (WPA3 Enterprise)Medium
VLAN 40Wi-Fi Guestสำหรับแขก (Isolate จาก Internal)Low
VLAN 50Security / IoTCCTV, Access Control, SensorsMedium
VLAN 60Servers / StorageLocal Servers, NAS, BackupHigh
VLAN 99Native / Managementสำหรับ Manage อุปกรณ์ Network เท่านั้นHigh

3. การออกแบบทางเทคนิค (Technical Architecture)

ในระดับ Enterprise เราจะไม่ใช้ Switch ตัวเดียว แต่จะใช้โครงสร้างแบบ Hierarchical Design (Core-Distribution-Access)

A. Core Layer (The Backbone)

ใช้ High-performance Switches (เช่น Cisco Catalyst 9500) ทำ Stacking หรือ VSS เพื่อให้ทำงานเสมือนเป็นตัวเดียว หากตัวหนึ่งพัง อีกตัวจะทำงานแทนทันที (Redundancy)

B. Inter-VLAN Routing & Security (Layer 3)

ในระดับ Enterprise เราจะไม่ใช้ Router-on-a-Stick (เพราะจะเป็นคอขวด) แต่จะใช้ Layer 3 Switch (Multilayer Switch) ในการทำ Routing ระหว่าง VLAN ด้วยความเร็วระดับ Wire-speed และใช้ Access Control Lists (ACLs) หรือ Firewall (เช่น FortiGate 200F ขึ้นไป) ในการคุม Traffic สำคัญ

C. Voice VLAN Integration

หนึ่งในเทคนิคสำคัญของ Enterprise คือการส่งทั้ง Data และ Voice ผ่านสาย LAN เส้นเดียวไปยังโต๊ะพนักงาน:

  • Switch จะส่ง CDP/LLDP ไปบอก IP Phone ให้ดึง Traffic เข้า VLAN 20 (Voice)
  • ส่วน PC ที่มาเสียบต่อจากหลัง Phone จะถูกจัดให้อยู่ใน VLAN 10 (Data) โดยอัตโนมัติ

4. การรักษาความปลอดภัยขั้นสูง (Advanced Security)

สำหรับผู้เชี่ยวชาญอย่างคุณ การทำ VLAN ในระดับ Enterprise มักจะพ่วงเทคโนโลยีเหล่านี้ด้วย

  1. 802.1X Port Authentication: ใครเอา Notebook มาเสียบสาย LAN จะยังเข้า Network ไม่ได้ จนกว่าจะใส่ Username/Password ของบริษัท (เชื่อมต่อกับ Active Directory/RADIUS)
  2. Dynamic VLAN Assignment: ระบบจะเช็คว่า “ใคร” เป็นคน Log in ถ้าเป็น IT จะได้ไปอยู่ VLAN 99 อัตโนมัติ ถ้าเป็นบัญชีจะไปอยู่ VLAN 10 แม้จะเสียบ Port เดียวกัน
  3. VLAN Access Control Lists (VACLs): คุม Traffic ภายใน VLAN เดียวกัน (Layer 2 Security) เพื่อป้องกันการโจมตีแบบ Lateral Movement

บทสรุปของ Case นี้

การออกแบบแบบนี้ช่วยให้ Enterprise สามารถขยายสาขาได้ง่าย (Scalability) และหากเกิดเหตุการณ์ Ransomware ระบาดใน VLAN 30 (Wi-Fi) เราสามารถตัดการเชื่อมต่อจาก Firewall ได้ทันที โดยไม่กระทบกับ Server ใน VLAN 60 หรือระบบโทรศัพท์ใน VLAN 20

วิธีการ configure VLANs

การตั้งค่า VLAN ในระดับมืออาชีพจะมีลำดับขั้นตอนที่ชัดเจน เพื่อป้องกันความผิดพลาดในระบบเครือข่าย โดยผมจะแบ่งขั้นตอนการ Configure ออกเป็น 3 ส่วนหลัก ตามลำดับการปฏิบัติจริงในอุปกรณ์ยอดนิยมอย่าง Cisco

1. ขั้นตอนการเตรียมการ (Prerequisites)

ก่อนจะพิมพ์คำสั่ง คุณต้องวางแผนข้อมูล 3 อย่างนี้ก่อน

  • VLAN ID: เลข ID (1-4094)
  • VLAN Name: ชื่อเรียกเพื่อความเข้าใจ (เช่น Sales, Engineering)
  • IP Subnet: วง IP Address ที่จะใช้ในแต่ละ VLAN (เช่น 192.168.10.0/24)

2. ขั้นตอนการ Configuration (Cisco CLI)

Step 1: สร้าง VLAN บน Switch

เริ่มต้นด้วยการสร้างฐานข้อมูล VLAN เข้าไปในตัว Switch ก่อน

Switch# configure terminal

Switch(config)# vlan 10                     # สร้าง VLAN ID 10

Switch(config-vlan)# name Staff       # ตั้งชื่อให้ VLAN

Switch(config-vlan)# exit

Step 2: กำหนด Port ให้เป็น Access Port

ขั้นตอนนี้คือการบอกว่า Port ทางกายภาพ (Physical Port) ไหน จะให้อยู่ใน VLAN อะไร (สำหรับต่อเข้ากับ PC หรือ End-device)

Switch(config)# interface gigabitEthernet 0/1

Switch(config-if)# switchport mode access             # กำหนดโหมดเป็น Access

Switch(config-if)# switchport access vlan 10         # นำ Port นี้ไปใส่ใน VLAN 10

Switch(config-if)# exit

หากต้องการทำทีละหลาย Port พร้อมกัน ให้ใช้คำสั่ง interface range gigabitEthernet 0/1 – 10

Step 3: การตั้งค่า Trunk Port

หากคุณมี Switch มากกว่า 1 ตัว หรือต้องการต่อเข้ากับ Router/Firewall (เช่น FortiGate) ต้องตั้งค่า Port ที่เชื่อมต่อระหว่างกันให้เป็น Trunk เพื่อให้ส่งข้อมูลได้ทุก VLAN

Switch(config)# interface gigabitEthernet 0/24

Switch(config-if)# switchport mode trunk                       # กำหนดโหมดเป็น Trunk

Switch(config-if)# switchport trunk allowed vlan all      # อนุญาตให้ทุก VLAN วิ่งผ่าน

3. การทำ Inter-VLAN Routing (ให้แต่ละวงคุยกันได้)

เนื่องจากอุปกรณ์ต่าง VLAN จะคุยกันไม่ได้โดยธรรมชาติ เราต้องมี “ตัวกลาง” ในการทำ Routing

แบบ A: ใช้ Layer 3 Switch (SVI)

วิธีนี้มีประสิทธิภาพสูงสุดเพราะ Routing เกิดขึ้นที่ความเร็วของ Hardware (Wire-speed)

Switch(config)# ip routing               # เปิดใช้งานการ Routing (สำคัญมาก)

Switch(config)# interface vlan 10        # สร้าง Virtual Interface

Switch(config-if)# ip address 192.168.10.1 255.255.255.0  # กำหนด Gateway ให้ VLAN 10

Switch(config-if)# no shutdown

แบบ B: Router-on-a-Stick (ใช้ Router)

วิธีนี้ใช้ในกรณีที่มี Layer 2 Switch และต้องใช้ Router (เช่น Cisco ISR หรือ FortiGate) มาช่วย

  1. สร้าง Sub-interface บน Interface หลักของ Router
  2. กำหนด Encapsulation dot1Q ให้ตรงกับ VLAN ID
  3. ใส่ IP Address ให้เป็น Gateway ของ VLAN นั้น

4. คำสั่งตรวจสอบ (Verification)

เมื่อ Config เสร็จแล้ว คุณต้องตรวจสอบความถูกต้องด้วยคำสั่งเหล่านี้

  • show vlan brief : ดูว่ามี VLAN อะไรบ้าง และ Port ไหนอยู่ VLAN ไหน
  • show interface trunk : ดูสถานะของ Port ที่เชื่อมต่อระหว่าง Switch/Router
  • show ip route : (สำหรับ L3 Switch) ตรวจสอบว่าตาราง Routing มองเห็นวงแลนต่างๆ หรือยัง

ข้อควรระวังสำหรับ Expert (Best Practices)

  • VLAN 1: พยายามเลี่ยงการใช้งาน VLAN 1 (Default) สำหรับ Data ของ User เพื่อความปลอดภัยจากโปรโตคอลพื้นฐาน
  • Native VLAN: ควรเปลี่ยน Native VLAN ของ Trunk Port จากเลข 1 เป็นเลขอื่นที่ไม่ได้ใช้งาน เพื่อป้องกัน VLAN Hopping Attack
  • Unused Ports: Port ที่ไม่ได้ใช้งานควรสั่ง shutdown และย้ายไปใส่ใน VLAN ที่ไม่มีทางออกสู่ Internet (Black hole VLAN)

ตัวอย่างการ Configure VLAN

ภาพที่ 2-1 ตัวอย่างการแบ่ง VLAN

ขั้นตอนการกำหนด VLAN (Cisco 2960)

เป้าหมาย

  • กำหนดให้ H1 อยู่ใน VLAN 10 (ชื่อ Staff)
  • กำหนดให้ H2 อยู่ใน VLAN 20 (ชื่อ Guest)

1. สร้าง VLAN ใน Database

เข้าสู่โหมด Configuration เพื่อสร้างเลข VLAN และตั้งชื่อ

SW1# configure terminal

SW1(config)# vlan 10

SW1(config-vlan)# name Staff

SW1(config-vlan)# exit

SW1(config)# vlan 20

SW1(config-vlan)# name Guest

SW1(config-vlan)# exit

2. กำหนด Port ให้กับ VLAN (Access Port)

ขั้นตอนนี้คือการย้าย Port Fa0/1 และ Fa0/2 เข้าไปใน VLAN ที่เราสร้างไว้

สำหรับ H1 (FastEthernet 0/1)

SW1(config)# interface fastEthernet 0/1

SW1(config-if)# switchport mode access

SW1(config-if)# switchport access vlan 10

SW1(config-if)# exit

สำหรับ H2 (FastEthernet 0/2)

SW1(config)# interface fastEthernet 0/2

SW1(config-if)# switchport mode access

SW1(config-if)# switchport access vlan 20

SW1(config-if)# exit

การตรวจสอบผลการตั้งค่า (Verification)

หลังจากตั้งค่าเสร็จแล้ว คุณสามารถตรวจสอบความถูกต้องได้ด้วยคำสั่ง:

  • show vlan brief: คุณจะเห็นว่า Port Fa0/1 ย้ายไปอยู่กับ 10 Staff และ Fa0/2 ย้ายไปอยู่กับ 20 Guest เรียบร้อยแล้ว
  • การทดสอบ Ping: ลองให้ H1 (192.168.1.1) ทำการ Ping ไปหา H2 (192.168.1.2) ผลลัพธ์ที่ควรจะได้คือ Request Timed Out เพราะอยู่คนละ VLAN (Broadcast Domain) กัน

หน้าจอตัวอย่างคำสั่ง show vlan และผลลัพธ์

วิธีการอ่านค่าจากผลลัพธ์

จากตารางด้านบน คุณสามารถวิเคราะห์สถานะเครือข่ายได้ดังนี้

  • VLAN 1 (Default): เป็น VLAN พื้นฐานที่ติดมากับเครื่อง จะเห็นว่า Ports ที่เราไม่ได้ตั้งค่า (Fa0/3 เป็นต้นไป) ยังคงกองอยู่ที่นี่ทั้งหมด
  • VLAN 10 (Staff): จะปรากฏชื่อที่เราตั้งไว้ (name Staff) และที่สำคัญที่สุดคือแสดงว่า Fa0/1 ได้ถูกย้ายเข้ามาอยู่ในกลุ่มนี้สำเร็จแล้ว (Active)
  • VLAN 20 (Guest): แสดงชื่อแผนกแขก และยืนยันว่า Fa0/2 แยกมาอยู่ที่นี่เรียบร้อย
  • VLAN 1002 – 1005: เป็นค่ามาตรฐานสำหรับเทคโนโลยีเก่า (เช่น FDDI, Token Ring) ซึ่งเราจะไม่ค่อยได้ใช้งานในปัจจุบัน แต่ Switch จะแสดงผลเป็นปกติ

คำสั่งตรวจสอบเพิ่มเติมที่น่าสนใจ

หากต้องการดูรายละเอียดที่ลึกขึ้นสำหรับการทำ Lab ใน VMware หรืออุปกรณ์จริง

คำสั่งวัตถุประสงค์
show vlan id 10ดูรายละเอียดเฉพาะเจาะจงของ VLAN 10 เท่านั้น
show interfaces Fa0/1 switchportดูสถานะเชิงลึกของ Port นั้นๆ เช่น เป็น Access หรือ Trunk และใช้ Encapsulation อะไร
show interfaces statusดูภาพรวมของทุก Port ว่าสถานะการเชื่อมต่อ (Connected/Notconnect) และอยู่ VLAN ไหนแบบสรุปสั้นๆ

Access Ports

Access Ports คือองค์ประกอบพื้นฐานที่สำคัญของ Managed Switch โดยพอร์ตประเภทนี้จะถูกกำหนดให้อยู่ใน VLAN เพียงวงเดียวเท่านั้น ทำหน้าที่รับและส่งทราฟฟิกจาก VLAN ที่ระบุไปยังอุปกรณ์ที่เชื่อมต่ออยู่ หรือส่งจากอุปกรณ์ไปยังอุปกรณ์อื่นใน VLAN เดียวกันบนสวิตช์ตัวนั้น สิ่งสำคัญคือ จะไม่มีการแนบ 802.1Q Tags ไปกับแพ็กเก็ตที่รับหรือส่งผ่าน Access Ports เหล่านี้

การกำหนดค่าบนสวิตช์ตระกูล Catalyst

โดยปกติแล้ว สวิตช์ตระกูล Catalyst จะกำหนดให้พอร์ตทั้งหมดเป็น Layer 2 Access Port ของ VLAN 1 มาให้โดยเริ่มต้น ผู้ดูแลระบบสามารถตั้งค่าพอร์ตให้เป็นโหมด Access และกำหนดหมายเลข VLAN ได้ด้วยคำสั่งดังนี้

  • คำสั่งกำหนดโหมด: ใช้คำสั่ง switchport mode access เพื่อระบุให้พอร์ตทำงานในโหมด Access ด้วยตนเอง
  • คำสั่งกำหนด VLAN: ใช้คำสั่ง switchport access {vlan vlan-id | name name} เพื่อระบุ VLAN ที่ต้องการให้กับพอร์ตนั้น
  • การระบุด้วยชื่อ: ความสามารถในการตั้งค่า VLAN ผ่าน “ชื่อ” (Name) เป็นฟีเจอร์ที่เพิ่มเข้ามาในซอฟต์แวร์เวอร์ชันใหม่ แต่สุดท้ายแล้วข้อมูลจะถูกจัดเก็บในรูปแบบ “หมายเลข” (Numeric form) ภายในตัวเครื่องอยู่ดี

ตัวอย่างที่ 1-1 แสดงให้เห็นถึงการกำหนดค่าพอร์ตของสวิตช์หมายเลข Gi1/0/15 และ Gi1/0/16 ให้เป็นพอร์ตเข้าถึง (Access Ports) ใน VLAN 99 สำหรับกลุ่มผู้ใช้งานภายนอก (Guests) ทั้งนี้ ให้สังเกตว่าการตั้งค่าในขั้นตอนสุดท้ายจะถูกจัดเก็บในรูปแบบของ ตัวเลข (Numbers) สำหรับทั้งสองพอร์ต แม้ว่าจะมีการใช้คำสั่งที่แตกต่างกันในการระบุก็ตาม

SW1# configure terminal

SW1(config)# vlan 99

SW1(config-vlan)# name Guests

SW1(config-vlan)# interface gi1/0/15

SW1(config-if)# switchport mode access

SW1(config-if)# switchport access vlan 99

SW1(config-if)# interface gi1/0/16

SW1(config-if)# switchport mode access

SW1(config-if)# switchport access vlan name Guest

SW1# show running-config | begin interface GigabitEthernet1/0/15

interface GigabitEthernet1/0/15

switchport access vlan 99

switchport mode access

!

interface GigabitEthernet1/0/16

switchport access vlan 99

switchport mode access

พอร์ตทรังค์ (Trunk Ports)

Trunk Ports มีความสามารถในการรับและส่งทราฟฟิกของหลาย VLAN พร้อมกันได้ โดยปกติแล้วพอร์ตประเภทนี้จะถูกใช้งานเมื่อต้องการให้หลาย VLAN สามารถเชื่อมต่อสื่อสารกันระหว่างสวิตช์กับสวิตช์, สวิตช์กับเราเตอร์ หรือสวิตช์กับไฟร์วอลล์ โดยใช้พอร์ตเชื่อมต่อเพียงพอร์ตเดียวเท่านั้น

เมื่อมีการรับแพ็กเก็ตจากลิงก์ทรังค์ฝั่งตรงข้าม ระบบจะทำการตรวจสอบส่วนหัวของแพ็กเก็ต (Headers) เพื่อระบุว่าทราฟฟิกนั้นเป็นของ VLAN ใด จากนั้นส่วนหัวแบบ 802.1Q จะถูกถอดออก และทราฟฟิกจะถูกส่งต่อไปยังพอร์ตถัดไปโดยพิจารณาจากตาราง MAC Address ของ VLAN นั้น ๆ

การกำหนดค่าบนสวิตช์ตระกูล Catalyst

สำหรับการตั้งค่าบนสวิตช์ตระกูล Catalyst นั้น พอร์ตทรังค์สามารถกำหนดค่าแบบคงที่ (Statically defined) ได้ผ่านคำสั่งในระดับอินเทอร์เฟซ คือ switchport mode trunk โดยใน ตัวอย่างที่ 1-2 จะแสดงให้เห็นถึงการเปลี่ยนพอร์ต Gi1/0/2 และ Gi1/0/3 ให้ทำงานเป็นพอร์ตทรังค์

ตัวอย่าง1-2 Configuring Trunk Port

SW1# configure terminal

SW1(config)# interface gi1/0/2

SW1(config-if)# switchport mode trunk

SW1(config-if)# interface gi1/0/3

SW1(config-if)# switchport mode trunk

คำสั่ง show interfaces trunk ให้ข้อมูลที่มีท่านค่าอย่างมากโดยแบ่งออกเป็นหลายส่วน ซึ่งเป็นประโยชน์ต่อการวิเคราะห์และแก้ไขปัญหาการเชื่อมต่อ (Troubleshooting) ระหว่างอุปกรณ์เครือข่าย ดังนี้

  • ส่วนที่หนึ่ง: จะแสดงรายการอินเทอร์เฟซทั้งหมดที่เป็นพอร์ตทรังค์, สถานะการทำงาน, การรวมลิงก์กับ EtherChannel และระบุว่า VLAN ใดที่เป็น Native VLAN (ซึ่งรายละเอียดของ Native VLAN จะอธิบายในส่วนถัดไป ส่วน EtherChannel จะอธิบายในโอกาสต่อไป
  • ส่วนที่สอง: จะแสดงรายการของ VLAN ที่ได้รับอนุญาต (Allowed) ให้วิ่งผ่านพอร์ตทรังค์นั้น ๆ ทั้งนี้ เราสามารถจำกัดปริมาณทราฟฟิกบนพอร์ตทรังค์ได้โดยการกำหนดให้บาง VLAN วิ่งไปยังสวิตช์เฉพาะเจาะจงเท่านั้น ซึ่งจะช่วยลดปริมาณทราฟฟิกประเภทบรอดคาสต์ (Broadcast Traffic) ได้ด้วย
  • กรณีการใช้งานอื่น ๆ: รวมถึงการทำ Load Balancing ระหว่างลิงก์เครือข่าย โดยการกำหนดให้ VLAN กลุ่มหนึ่งวิ่งผ่านลิงก์ทรังค์เส้นหนึ่ง ในขณะที่ให้ VLAN อีกกลุ่มที่เหลือวิ่งผ่านพอร์ตทรังค์อีกเส้นหนึ่งแทน

สำหรับเนื้อหาใน Example 1-3 จะเป็นการสาธิตการใช้งานคำสั่ง show interfaces trunk เพื่อตรวจสอบสถานะของพอร์ตทรังค์ ซึ่งเป็นเครื่องมือสำคัญในการวิเคราะห์การเชื่อมต่อระหว่างอุปกรณ์

ตัวอย่าง 1-3 Verifying Trunk Port Status

SW1# show interfaces trunk

! Section 1 displays the native VLAN associated on this port, the

! if the port is associated to a EtherChannel

Port Mode Encapsulation Status Native

Gi1/0/2 on 802.1q trunking 1

Gi1/0/3 on 802.1q trunking 1

! Section 2 displays all of the VLANs that are allowed to be tran

! the trunk ports

Port Vlans allowed on trunk

Gi1/0/2 1-4094

Gi1/0/3 1-4094

Port Vlans allowed and active in management domain

Gi1/0/2 1,10,20,99

Gi1/0/3 1,10,20,99

! Section 3 displays all of the VLANs that are allowed across the

! in a spanning tree forwarding state

Port Vlans in spanning tree forwarding state and not prune

Gi1/0/2 1,10,20,99

Gi1/0/3 1,10,20,99

Native VLANs

ภายใต้มาตรฐาน 802.1Q ทราฟฟิกใด ๆ ที่ถูกส่งออกหรือรับเข้ามาผ่านพอร์ตทรังค์ (Trunk Port) โดยไม่มีการแนบแท็ก (VLAN Tag) จะถูกกำหนดให้มีความสัมพันธ์กับ Native VLAN ทันที โดยค่าเริ่มต้นของ Native VLAN คือ VLAN 1

ยกตัวอย่างเช่น หากสวิตช์มี Access Ports สองพอร์ตที่กำหนดให้อยู่ใน VLAN 10 และมีพอร์ตทรังค์ที่ตั้งค่า Native VLAN เป็นหมายเลข 10 โฮสต์ที่เชื่อมต่อผ่านพอร์ตทรังค์นั้นจะสามารถสื่อสารกับอุปกรณ์ที่ต่ออยู่บน Access Ports ของ VLAN 10 ได้ทันที

ข้อควรระวังและแนวทางปฏิบัติ

  • ความสอดคล้อง: ค่า Native VLAN ควรจะตรงกันทั้งสองฝั่งของพอร์ตทรังค์ มิฉะนั้นทราฟฟิกอาจข้ามไปยัง VLAN อื่นโดยไม่ตั้งใจ
  • ปัญหาในการจัดการ: แม้ว่าการเชื่อมต่อระหว่างโฮสต์จะสามารถทำได้ (แม้จะอยู่คนละหมายเลข VLAN) แต่นี่คือสิ่งที่สร้างความสับสนให้กับวิศวกรเครือข่ายส่วนใหญ่ และไม่ถือเป็นแนวทางปฏิบัติที่ดี (Not a best practice)
  • การตั้งค่า: Native VLAN เป็นการกำหนดค่าเฉพาะพอร์ต (Port-specific) โดยใช้คำสั่ง switchport trunk native vlan vlan-id ในระดับอินเทอร์เฟซ

Allowed VLANs

ตามที่ได้กล่าวไว้ก่อนหน้านี้ ท่านสามารถจำกัด VLAN ไม่ให้วิ่งผ่านพอร์ตทรังค์บางพอร์ตได้ เพื่อวัตถุประสงค์ในการทำ Traffic Engineering อย่างไรก็ตาม สิ่งนี้อาจก่อให้เกิดปัญหาได้หากโฮสต์สองเครื่องต้องการสื่อสารผ่านลิงก์ทรังค์ แต่ VLAN กลับไม่ได้รับอนุญาตให้ผ่านพอร์ตนั้น

  • การตั้งค่า: ใช้คำสั่ง switchport trunk allowed vlan vlan-ids เพื่อระบุหมายเลข VLAN ที่อนุญาตให้วิ่งผ่านลิงก์ได้
  • ตัวอย่างการใช้งาน : แสดงการกำหนดค่าเพื่อจำกัด VLAN ที่สามารถวิ่งผ่านพอร์ตทรังค์ Gi1/0/2 โดยอนุญาตเฉพาะ VLAN 1, 10, 20 และ 99 เท่านั้น

SW1# show run interface gi1/0/1

interface GigabitEthernet1/0/1

switchport trunk allowed vlan 1,10,20,99

switchport mode trunk

รูปแบบคำสั่งเต็มอย่าง switchport trunk allowed {vlan-ids | all | none | add vlan-ids | remove vlan-ids | except vlan-ids} มีขีดความสามารถที่หลากหลายในการจัดการผ่านคำสั่งเพียงคำสั่งเดียว

  • all: เป็นคำสำคัญ (Keyword) เสริมที่อนุญาตให้ทุก VLAN สามารถวิ่งผ่านลิงก์ได้
  • none: ใช้สำหรับยกเลิกหรือนำ VLAN ทั้งหมดออกจากลิงก์ทรังค์
  • add: ใช้สำหรับเพิ่มหมายเลข VLAN เข้าไปเสริมจากรายการเดิมที่มีการอนุญาตไว้อยู่แล้ว
  • remove: ใช้สำหรับลบหมายเลข VLAN ที่ระบุออกจากรายการ VLAN ที่ได้รับอนุญาตบนลิงก์ทรังค์นั้น ๆ