อัปเดตล่าสุด: กุมภาพันธ์ 2026

FortiGate VLAN Configuration

คู่มือตั้งค่า VLAN บน FortiGate Firewall

เรียนรู้การแบ่งเครือข่ายด้วย VLAN แบบ Step-by-Step พร้อม Inter-VLAN Routing และ Firewall Policy

802.1Q VLAN Inter-VLAN Routing Firewall Policy 20 นาที
Fortinet
VLAN
Layer 3

สารบัญ

VLAN คืออะไร?

VLAN (Virtual Local Area Network) คือเทคโนโลยีที่ช่วยแบ่งเครือข่ายฟิสิคัลหนึ่งเครือข่าย ออกเป็นหลายเครือข่ายเสมือน (Virtual Network) โดยใช้ VLAN ID ตามมาตรฐาน IEEE 802.1Q

ข้อดีของการใช้ VLAN:

  • Security: แยก Broadcast Domain ช่วยลดความเสี่ยงด้านความปลอดภัย
  • Performance: ลด Broadcast Traffic ทำให้เครือข่ายมีประสิทธิภาพมากขึ้น
  • Flexibility: สามารถจัดกลุ่มอุปกรณ์ตามแผนก/หน้าที่ ไม่จำเป็นต้องอยู่ในที่เดียวกัน
  • Cost Effective: ไม่ต้องซื้อ Switch แยกสำหรับแต่ละแผนก

VLAN ใน FortiGate:

NAT Mode VLAN

FortiGate ทำหน้าที่เป็น Layer 3 Router

ใน NAT Mode FortiGate จะทำหน้าที่เป็น Gateway สำหรับแต่ละ VLAN สามารถควบคุมการรับส่งข้อมูลระหว่าง VLAN ด้วย Firewall Policy และสามารถทำ NAT เพื่อออกอินเทอร์เน็ตได้

  • รองรับ 802.1Q VLAN Trunk
  • Inter-VLAN Routing
  • DHCP Server แยกกันแต่ละ VLAN

สถาปัตยกรรมเครือข่าย

ตัวอย่างสถาปัตยกรรมที่เราจะใช้ในบทความนี้ ประกอบด้วย FortiGate เชื่อมต่อกับ Switch ผ่าน Trunk Port และมี 2 VLAN คือ VLAN 10 (แผนก IT) และ VLAN 20 (แผนก Accounting)

Internet FortiGate Firewall WAN: DHCP LAN: port2 Core Switch Cisco/FortiSwitch Trunk: Gi0/0 802.1Q VLAN Tagging Trunk Link VLAN 10 - IT Department 172.16.10.0/24 PC1 .10.2 PC2 .10.3 VLAN 20 - Accounting 172.16.20.0/24 PC3 .20.2 PC4 .20.3 VLAN 10 Interface IP: 172.16.10.1/24 Gateway for IT Dept VLAN 20 Interface IP: 172.16.20.1/24 Gateway for Accounting
VLAN ID ชื่อ Subnet Gateway (FortiGate) DHCP Range
10 IT Department 172.16.10.0/24 172.16.10.1 172.16.10.100 - 172.16.10.200
20 Accounting 172.16.20.0/24 172.16.20.1 172.16.20.100 - 172.16.20.200

สิ่งที่ต้องเตรียม

Hardware Requirements

  • FortiGate Firewall (รุ่นใดก็ได้ เช่น 60E, 100E, 200E)
  • Managed Switch ที่รองรับ 802.1Q VLAN (Cisco, FortiSwitch, หรือยี่ห้ออื่น)
  • คอมพิวเตอร์หรืออุปกรณ์สำหรับทดสอบ
  • สาย LAN Cat5e หรือ Cat6

Software Requirements

  • FortiOS 6.0 ขึ้นไป (แนะนำ 7.0 หรือ 7.2)
  • Web Browser (Chrome, Firefox, Edge)
  • SSH Client (สำหรับ CLI) - Optional
  • พื้นฐาน Network TCP/IP

ข้อควรระวัง

การตั้งค่า VLAN อาจส่งผลต่อการเชื่อมต่อเครือข่ายที่มีอยู่ แนะนำให้ทดสอบในสภาพแวดล้อม Lab ก่อน และควร Backup Configuration ของ FortiGate ก่อนเริ่มต้น

1

สร้าง VLAN Interface

ตั้งค่า VLAN Sub-interface บน FortiGate

วิธี GUI

ไปที่ Network > Interfaces แล้วคลิก Create New > Interface

การตั้งค่า VLAN 10:

Field Value
Name VLAN_10
Type VLAN
Interface port2 (หรือ LAN interface)
VLAN ID 10
Role LAN
IPv4 Address 172.16.10.1/24
Administrative Access PING, HTTPS

วิธี CLI

VLAN 10 Configuration
config system interface
    edit "VLAN_10"
        set vdom "root"
        set type vlan
        set interface "port2"
        set vlanid 10
        set role lan
        set mode static
        set ip 172.16.10.1 255.255.255.0
        set allowaccess ping https
        set description "IT Department VLAN"
    next
end
VLAN 20 Configuration
config system interface
    edit "VLAN_20"
        set vdom "root"
        set type vlan
        set interface "port2"
        set vlanid 20
        set role lan
        set mode static
        set ip 172.16.20.1 255.255.255.0
        set allowaccess ping https
        set description "Accounting Department VLAN"
    next
end

ผลลัพธ์

หลังจากสร้าง VLAN Interface เสร็จแล้ว จะเห็น VLAN_10 และ VLAN_20 อยู่ใต้ Interface port2 ในหน้า Network > Interfaces

2

ตั้งค่า DHCP Server

กำหนดค่า DHCP สำหรับแต่ละ VLAN

DHCP Server จะช่วยจัดสรร IP Address อัตโนมัติให้กับอุปกรณ์ในแต่ละ VLAN ทำให้ไม่ต้องตั้งค่า IP แบบ Static สำหรับทุกเครื่อง

วิธี GUI

  1. 1 ไปที่ Network > Interfaces
  2. 2 คลิกที่ VLAN_10 > Edit
  3. 3 ในส่วน DHCP Server เลือก Enable
  4. 4 ตั้งค่า IP Range: 172.16.10.100 - 172.16.10.200
  5. 5 ตั้งค่า Default Gateway: 172.16.10.1 (Same as Interface IP)
  6. 6 ตั้งค่า DNS Server: 8.8.8.8, 8.8.4.4

วิธี CLI

DHCP Server for VLAN 10
config system dhcp server
    edit 1
        set default-gateway 172.16.10.1
        set dns-service default
        set interface "VLAN_10"
        config ip-range
            edit 1
                set start-ip 172.16.10.100
                set end-ip 172.16.10.200
            next
        end
        set netmask 255.255.255.0
    next
end
DHCP Server for VLAN 20
config system dhcp server
    edit 2
        set default-gateway 172.16.20.1
        set dns-service default
        set interface "VLAN_20"
        config ip-range
            edit 1
                set start-ip 172.16.20.100
                set end-ip 172.16.20.200
            next
        end
        set netmask 255.255.255.0
    next
end
3

สร้าง Firewall Policy

กำหนดกฎการรับส่งข้อมูลระหว่าง VLAN และออกอินเทอร์เน็ต

Inter-VLAN Policy

กำหนดการสื่อสารระหว่าง VLAN 10 และ VLAN 20

  • • VLAN 10 ↔ VLAN 20
  • • ไม่ต้องเปิด NAT (Local Routing)
  • • สามารถจำกัด Service ได้

Internet Access Policy

อนุญาตให้ทั้งสอง VLAN ออกอินเทอร์เน็ตได้

  • • VLAN 10, VLAN 20 → Internet
  • • ต้องเปิด NAT
  • • ใช้ WAN Interface

3.1 Inter-VLAN Routing Policy

VLAN 10 to VLAN 20 Policy
config firewall policy
    edit 1
        set name "VLAN10_to_VLAN20"
        set srcintf "VLAN_10"
        set dstintf "VLAN_20"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set nat disable
    next
end
VLAN 20 to VLAN 10 Policy
config firewall policy
    edit 2
        set name "VLAN20_to_VLAN10"
        set srcintf "VLAN_20"
        set dstintf "VLAN_10"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set nat disable
    next
end

3.2 Internet Access Policy

VLAN 10 Internet Access
config firewall policy
    edit 3
        set name "VLAN10_to_Internet"
        set srcintf "VLAN_10"
        set dstintf "wan1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set nat enable
    next
end
VLAN 20 Internet Access
config firewall policy
    edit 4
        set name "VLAN20_to_Internet"
        set srcintf "VLAN_20"
        set dstintf "wan1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set nat enable
    next
end

หมายเหตุสำคัญ

  • Inter-VLAN: ไม่ต้องเปิด NAT เพราะเป็นการ Routing ภายใน
  • Internet: ต้องเปิด NAT เพื่อแปลง Private IP เป็น Public IP
  • Security: สามารถจำกัด Service เป็น HTTP, HTTPS แทน ALL ได้
4

ทดสอบการเชื่อมต่อ

ตรวจสอบว่า VLAN ทำงานถูกต้อง

4.1 ทดสอบภายใน VLAN เดียวกัน

ทดสอบ Ping จาก PC1 (VLAN 10) ไป Gateway:

PC1 (172.16.10.2)
C:\> ping 172.16.10.1

Pinging 172.16.10.1 with 32 bytes of data:
Reply from 172.16.10.1: bytes=32 time<1ms TTL=255
Reply from 172.16.10.1: bytes=32 time<1ms TTL=255
Reply from 172.16.10.1: bytes=32 time<1ms TTL=255

Ping statistics for 172.16.10.1:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss)

4.2 ทดสอบ Inter-VLAN Routing

ทดสอบ Ping จาก PC1 (VLAN 10) ไป PC3 (VLAN 20):

PC1 (172.16.10.2) → PC3 (172.16.20.2)
C:\> ping 172.16.20.2

Pinging 172.16.20.2 with 32 bytes of data:
Reply from 172.16.20.2: bytes=32 time=2ms TTL=63
Reply from 172.16.20.2: bytes=32 time=1ms TTL=63
Reply from 172.16.20.2: bytes=32 time=1ms TTL=63

Ping statistics for 172.16.20.2:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss)

TTL=63 แสดงว่า Packet ผ่าน Router (FortiGate) 1 Hop การเชื่อมต่อ Inter-VLAN ทำงานถูกต้อง!

4.3 ทดสอบออกอินเทอร์เน็ต

ทดสอบ Ping ไป Google DNS:

PC1 (172.16.10.2) → Internet
C:\> ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=15ms TTL=117
Reply from 8.8.8.8: bytes=32 time=14ms TTL=117
Reply from 8.8.8.8: bytes=32 time=14ms TTL=117

Ping statistics for 8.8.8.8:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss)

4.4 ตรวจสอบบน FortiGate

แสดง VLAN Interfaces
# get system interface physical | grep -A5 VLAN
[VLAN_10]
    mode: static
    ip: 172.16.10.1 255.255.255.0
    status: up
    interface: port2
    vlanid: 10

[VLAN_20]
    mode: static
    ip: 172.16.20.1 255.255.255.0
    status: up
    interface: port2
    vlanid: 20
แสดง Firewall Policy Hit Count
# diagnose firewall policy list

list firewall policy in vd: root

policy id=1 name='VLAN10_to_VLAN20' action=accept hit=15
  src=VLAN_10 dst=VLAN_20 service=ALL

policy id=2 name='VLAN20_to_VLAN10' action=accept hit=12
  src=VLAN_20 dst=VLAN_10 service=ALL

policy id=3 name='VLAN10_to_Internet' action=accept hit=45
  src=VLAN_10 dst=wan1 service=ALL NAT=yes

policy id=4 name='VLAN20_to_Internet' action=accept hit=32
  src=VLAN_20 dst=wan1 service=ALL NAT=yes

การตั้งค่า Switch

นอกจากการตั้งค่า FortiGate แล้ว ยังต้องตั้งค่า Switch ให้รองรับ VLAN Trunk และ Access Port ด้วย

Trunk Port (ไป FortiGate)

Port ที่เชื่อมต่อกับ FortiGate ต้องเป็น Trunk Mode

  • Allow VLAN 10, 20
  • 802.1Q Tagging
  • Native VLAN: ไม่แนะนำให้มี

Access Port (ไป PC)

Port ที่เชื่อมต่อกับ End Device

  • Untagged Traffic
  • Assign to single VLAN
  • Port Security (Optional)

Cisco Switch Configuration

Cisco IOS VLAN Configuration
! สร้าง VLAN
enable
configure terminal

vlan 10
 name IT_Department
vlan 20
 name Accounting

! ตั้งค่า Trunk Port (ไป FortiGate)
interface GigabitEthernet0/0
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport trunk allowed vlan 10,20

! ตั้งค่า Access Port VLAN 10 (ไป PC)
interface GigabitEthernet0/1
 switchport mode access
 switchport access vlan 10

! ตั้งค่า Access Port VLAN 20 (ไป PC)
interface GigabitEthernet0/2
 switchport mode access
 switchport access vlan 20

end
write memory
Verify VLAN Configuration
! แสดง VLAN ทั้งหมด
show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gi0/3, Gi1/0, Gi1/1, Gi1/2
10   IT_Department                    active    Gi0/1
20   Accounting                       active    Gi0/2

! แสดง Trunk Status
show interfaces trunk

Port      Mode         Encapsulation  Status      Native vlan
Gi0/0     on           802.1q         trunking    1

Port      Vlans allowed on trunk
Gi0/0     10,20

การแก้ไขปัญหา

ปัญหา: PC ไม่ได้รับ IP จาก DHCP

สาเหตุที่เป็นไปได้:

  • • Switch Port ไม่ได้ Assign VLAN ที่ถูกต้อง
  • • DHCP Server ไม่ Enable บน VLAN Interface
  • • VLAN Interface Down

วิธีแก้:

  • • ตรวจสอบ show vlan brief บน Switch
  • • ตรวจสอบ DHCP Server Settings
  • • ตรวจสอบ get system interface

ปัญหา: Inter-VLAN ไม่สามารถ Ping กันได้

สาเหตุที่เป็นไปได้:

  • • ไม่มี Firewall Policy อนุญาต
  • • PC ไม่ได้ตั้งค่า Gateway ที่ถูกต้อง
  • • Firewall ของ PC Block ICMP

วิธีแก้:

  • • ตรวจสอบ Firewall Policy
  • • ตรวจสอบ Default Gateway บน PC
  • • ปิด Windows Firewall ชั่วคราว

ปัญหา: ออกอินเทอร์เน็ตไม่ได้

สาเหตุที่เป็นไปได้:

  • • NAT ไม่ Enable ใน Policy
  • • WAN Interface Down
  • • DNS Server ไม่ทำงาน

วิธีแก้:

  • • เปิด NAT ใน Internet Policy
  • • ตรวจสอบ WAN Status
  • • ทดสอบ ping 8.8.8.8 ก่อน

คำสั่ง Debug บน FortiGate

Debug Flow Commands
# เคลียร์ debug settings เดิม
diagnose debug reset
diagnose debug flow filter reset

# กำหนด IP ที่ต้องการ debug
diagnose debug flow filter addr 172.16.10.2

# แสดงชื่อ function
diagnose debug flow show function-name enable

# เริ่ม debug 100 packets
diagnose debug flow trace start 100

# Enable debug
diagnose debug enable

# หยุด debug
diagnose debug disable

คำถามที่พบบ่อย (FAQ)

Q: ต้องใช้ Switch ยี่ห้อ Cisco เท่านั้นไหม?

A: ไม่จำเป็น สามารถใช้ Switch ยี่ห้ออื่นได้ เช่น FortiSwitch, HP/Aruba, Dell, TP-Link (รุ่น Managed) ขอแค่รองรับ 802.1Q VLAN และ Trunk Port การตั้งค่าอาจแตกต่างกันเล็กน้อยตามรุ่น

Q: สามารถมีกี่ VLAN บน FortiGate?

A: ขึ้นอยู่กับรุ่นของ FortiGate และ FortiOS Version โดยทั่วไปรองรับได้หลายร้อย VLAN แต่ควรพิจารณา Performance และการจัดการด้วย แนะนำไม่เกิน 50-100 VLAN ในองค์กรขนาดกลาง

Q: NAT Mode กับ Transparent Mode ต่างกันอย่างไร?

A: NAT Mode: FortiGate ทำหน้าที่เป็น Router และ NAT ทำให้สามารถแบ่ง Subnet และออกอินเทอร์เน็ตได้
Transparent Mode: FortiGate ทำหน้าที่เหมือน Bridge ไม่มี IP Layer 3 ใช้สำหรับ Inspection เท่านั้น

Q: ถ้าต้องการ Block บาง Website ใน VLAN หนึ่ง?

A: สามารถใช้ Web Filter Profile ร่วมกับ Firewall Policy ได้ โดยสร้าง Web Filter Profile ที่ Block Category หรือ URL ที่ต้องการ แล้ว Apply กับ Policy ของ VLAN นั้น

Q: สามารถทำ VLAN โดยไม่ใช้ Switch ได้ไหม?

A: ได้ ถ้าใช้ FortiSwitch กับ FortiGate ที่รองรับ FortiLink สามารถใช้ FortiGate จัดการ VLAN บน FortiSwitch ได้โดยตรงผ่าน GUI โดยไม่ต้องตั้งค่า Switch แยก

สรุป

สิ่งที่เรียนรู้:

  • สร้าง VLAN Interface บน FortiGate
  • ตั้งค่า DHCP Server สำหรับแต่ละ VLAN
  • สร้าง Firewall Policy สำหรับ Inter-VLAN
  • ตั้งค่า NAT สำหรับออกอินเทอร์เน็ต
  • ตั้งค่า Switch Trunk/Access Port
  • แก้ไขปัญหาและ Debug

Best Practices:

  • วางแผน IP Scheme ให้ชัดเจนก่อนตั้งค่า
  • ตั้งชื่อ VLAN ให้สื่อความหมาย
  • ใช้ Address Object แทน "all" ใน Policy
  • เปิด Log Traffic เพื่อการ Audit
  • Backup Configuration สม่ำเสมอ

บทความที่เกี่ยวข้อง