Network
VLAN หรือ Virtual LAN เนี่ย สมัยผมทำร้านเน็ตเมื่อ 20 กว่าปีก่อน ยังไม่ค่อยบูมเท่าไหร่ แต่หลังๆ มานี่ สำคัญมากกกกกก! ลองนึกภาพว่า LAN ปกติคือเครือข่ายวงเดียวกัน ทุกเครื่องคุยกันได้หมด แต่ถ้าเราอยากแบ่งกลุ่มเครื่องออกเป็นหลายๆ วง โดยที่แต่ละวงคุยกันเองได้ แต่คุยข้ามวงไม่ได้ อันนี้แหละ VLAN เข้ามาช่วย
ง่ายๆ คือ VLAN เหมือนเราสร้าง LAN ย่อยๆ หลาย LAN บน Switch ตัวเดียวกัน โดยที่แต่ละ LAN ย่อยๆ มองไม่เห็นกัน ช่วยเรื่องความปลอดภัย ลดปัญหา Broadcast Storm และจัดการเครือข่ายได้ง่ายขึ้นเยอะ
สมัยก่อนร้านเน็ตผม เครื่องลูกเป็นร้อยๆ เครื่อง ต่อกันมั่วซั่วไปหมด Broadcast เต็มไปหมด! พอมี VLAN นี่ชีวิตดีขึ้นเยอะเลย ลองคิดดูนะ
สรุปง่ายๆ VLAN ช่วยให้ Network เราปลอดภัยขึ้น เร็วขึ้น และจัดการง่ายขึ้น SiamCafe Blog มีบทความ Network อีกเยอะ ลองเข้าไปอ่านดู
VLAN ทำงานโดยการ "Tag" Packet ที่ส่งออกจากเครื่องแต่ละเครื่อง Tag นี่แหละที่บอกว่า Packet นี้มาจาก VLAN ไหน Switch ก็จะดู Tag นี้ แล้วส่ง Packet ไปให้เฉพาะเครื่องที่อยู่ใน VLAN เดียวกันเท่านั้น
หลักๆ จะมี 2 แบบ คือ Port-based VLAN กับ Tag-based VLAN
แบบนี้ง่ายสุด Assign Port ของ Switch ให้กับ VLAN ใด VLAN หนึ่ง เช่น Port 1-10 อยู่ VLAN 10, Port 11-20 อยู่ VLAN 20 ข้อดีคือตั้งค่าง่าย ข้อเสียคือ ถ้าเครื่องต้องย้าย Port ต้องมาตั้งค่า VLAN ใหม่
แบบนี้ซับซ้อนกว่า แต่ Flexible กว่า Packet ทุก Packet จะมี Tag ที่บอก VLAN ID ติดไปด้วย Switch จะดู Tag นี้แล้วส่ง Packet ไปให้เครื่องที่อยู่ใน VLAN เดียวกัน ข้อดีคือ เครื่องย้ายไป Port ไหนก็ได้ VLAN ก็ตามไปด้วย
ส่วนใหญ่เค้าใช้ Tag-based VLAN กัน เพราะมัน Flexible กว่าเยอะ
ผมจะยกตัวอย่างการตั้งค่า VLAN บน Switch Cisco นะครับ ยี่ห้ออื่นก็คล้ายๆ กัน
enable
configure terminal
คำสั่ง `enable` คือเข้าสู่ Privileged EXEC Mode แล้ว `configure terminal` คือเข้าสู่ Global Configuration Mode
vlan 10
name Guest
vlan 20
name Staff
คำสั่ง `vlan 10` คือสร้าง VLAN ID 10 แล้ว `name Guest` คือตั้งชื่อ VLAN ว่า Guest ทำแบบเดียวกันสำหรับ VLAN 20 ชื่อ Staff
interface fastEthernet 0/1
switchport mode access
switchport access vlan 10
interface fastEthernet 0/2
switchport mode access
switchport access vlan 20
คำสั่ง `interface fastEthernet 0/1` คือเลือก Interface FastEthernet 0/1 แล้ว `switchport mode access` คือตั้งให้ Port นี้เป็น Access Port (Port ที่ต่อกับเครื่อง Client) แล้ว `switchport access vlan 10` คือ Assign Port นี้ให้กับ VLAN 10 ทำแบบเดียวกันสำหรับ Port 0/2 และ VLAN 20
ถ้าเรามี Switch หลายตัว เราต้องตั้งค่า Trunk Port เพื่อให้ VLAN ข้าม Switch ได้
interface fastEthernet 0/24
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 10,20
คำสั่ง `interface fastEthernet 0/24` คือเลือก Interface FastEthernet 0/24 แล้ว `switchport mode trunk` คือตั้งให้ Port นี้เป็น Trunk Port แล้ว `switchport trunk encapsulation dot1q` คือตั้งค่า Encapsulation เป็น 802.1Q (Tag-based VLAN) แล้ว `switchport trunk allowed vlan 10,20` คืออนุญาตให้ VLAN 10 และ 20 ข้าม Port นี้ได้
แค่นี้ก็เรียบร้อย! ลอง Ping จากเครื่องที่อยู่ใน VLAN 10 ไปเครื่องที่อยู่ใน VLAN 20 จะต้อง Ping ไม่เจอ
| ประเภท VLAN | ข้อดี | ข้อเสีย | เหมาะกับ |
|---|---|---|---|
| Port-based VLAN | ตั้งค่าง่าย | ไม่ Flexible | เครือข่ายขนาดเล็ก ที่ไม่ค่อยมีการเปลี่ยนแปลง |
| Tag-based VLAN (802.1Q) | Flexible, Scalable | ตั้งค่าซับซ้อนกว่า | เครือข่ายขนาดใหญ่ ที่มีการเปลี่ยนแปลงบ่อย |
เลือกใช้แบบไหน ก็ขึ้นอยู่กับความต้องการของแต่ละคน SiamCafe Blog มี case study การใช้ VLAN ในร้านเน็ตสมัยก่อน ลองเข้าไปอ่านดู
ดูวิดีโอเพิ่มเติมเกี่ยวกับVLAN คืออะไร ตั้งค่ายังไง:
สมัยผมทำร้านเน็ต SiamCafe นี่ VLAN ช่วยชีวิตไว้เยอะเลยครับ ไม่ใช่แค่เรื่องความปลอดภัย แต่ยังช่วยจัดการ Network ให้เป็นระเบียบมากๆ เลย
สำคัญมาก! อย่าเอาเครื่องคิดเงิน (ที่อาจจะมีข้อมูลลูกค้า) ไปปนกับเครื่องลูกข่ายเกม ควรแยก VLAN ให้ชัดเจน สมัยก่อนเคยเจอเคสเด็กในร้านพยายาม Hack เครื่องคิดเงิน โชคดีที่เราแยก VLAN ไว้เลยกันได้ทัน
อันนี้สำคัญมากสำหรับร้านที่มี Wi-Fi ให้ลูกค้าใช้ฟรี แยก VLAN สำหรับ Guest Network ออกจาก Network หลักของร้าน ป้องกันไม่ให้คนนอกเข้าถึงข้อมูลภายในร้านได้ iCafeForex ก็แนะนำเรื่องนี้เหมือนกัน
ใช้ tools พวก Network Monitoring ดู Traffic ที่วิ่งในแต่ละ VLAN ว่ามีอะไรผิดปกติไหม ถ้าเจอ Traffic แปลกๆ (เช่น Port Scan หรือ Traffic ปริมาณมหาศาล) จะได้รู้ตัวทัน
สมัยก่อนผมใช้ Nagios + Cacti มอนิเตอร์ Network ทั้งร้านเลย ช่วยได้เยอะมากๆ
จดบันทึกทุกอย่าง! ว่า VLAN ไหนใช้ทำอะไร Assign IP Address Range อะไรบ้าง เขียน Diagram Network ไว้ด้วย เวลาเจอปัญหาจะได้แก้ได้ง่าย
ช่วยได้เยอะครับ! เพราะ VLAN จะแบ่ง Network ออกเป็นส่วนๆ ถึงแม้ Hacker จะเข้ามาใน Network หนึ่งได้ ก็จะไม่สามารถเข้าถึง Network อื่นได้ง่ายๆ ครับ
ไม่จำเป็นเสมอไปครับ Switch L2 ที่รองรับ VLAN ก็ใช้ได้ แต่ Switch L3 จะช่วยให้ Routing ระหว่าง VLAN ง่ายกว่าครับ
ต้องเปลี่ยน Router ครับ (หัวเราะ) Router ที่ไม่รองรับ VLAN ก็เหมือนรถที่ไม่มีล้อครับ ไปต่อไม่ได้ (แต่ถ้าอยากลองจริงๆ อาจจะใช้ Linux Server ทำเป็น Router แทนได้ แต่ยุ่งยากกว่าเยอะ)
แล้วแต่เราเลยครับ แต่แนะนำให้เลือกเลขที่ไม่ซ้ำกัน และจดบันทึกไว้ด้วยว่า VLAN ID แต่ละอันใช้ทำอะไร ผมเคยเจอเคส VLAN ID ซ้ำกัน Network รวนไปหมด
VLAN คือการแบ่ง Layer 2 (Data Link Layer) ส่วน Subnet คือการแบ่ง Layer 3 (Network Layer) VLAN จะแบ่ง Broadcast Domain ส่วน Subnet จะแบ่ง IP Address Range ทั้งสองอย่างทำงานร่วมกันเพื่อจัดการ Network ให้มีประสิทธิภาพครับ
VLAN เป็นเครื่องมือที่ทรงพลังในการจัดการ Network ของร้านเน็ต ถ้าใช้เป็นจะช่วยเพิ่มความปลอดภัย ลดปัญหา Network และทำให้การบริหารจัดการง่ายขึ้น ลองเอา Best Practices ที่ผมแชร์ไปปรับใช้ดูนะครับ รับรองว่าชีวิตจะดีขึ้นเยอะเลย ลองเข้าไปอ่าน SiamCafe Blog ดูนะครับ มี Tips IT อีกเพียบ