Configure Inter Vlan on Cisco IOS Router
สวัสดีครับเพื่อน ๆ ในวันนี้ผมจะมาแนะนำการตั้งค่า Inter VLAN โดยการใช้ Cisco IOS Router กันนะครับ หลังจากที่ก่อนหน้านี้ได้แนะนำให้เพื่อน ๆ รู้จักกับการทำ Inter VLAN ด้วยการใช้ Switch Layer 3 กันไปแล้วในบทความ การทำ Inter VLAN Routing ด้วย Switch Layer 3 นะครับ ซึ่งหลักการในการทำงานก็จะเหมือนกัน โดยจะต่างกันเพียงแค่อุปกรณ์ที่จะนำมาใช้ในการหาเส้นทางระหว่าง VLAN เป็น Router แทนที่ Switch Layer 3 นะครับ
สำหรับเพื่อน ๆ ที่ยังไม่รู้จักกับ VLAN หรือ Broadcast Domain หรือ Collision Domain นั้นก็ขอให้กลับไปอ่านบทความ การทำ Inter VLAN Routing ด้วย Switch Layer 3 กันก่อนนะครับ เพื่อจะได้เข้าใจในวิธีการทำงานมากขึ้นครับ
การแบ่ง VLAN หรือ Virtual Lan นั้นจะเป็นการแบ่ง Broadcast Domain ของเครือข่ายออกจากกัน จะทำให้โฮสต์จะสามารถติดต่อสื่อสารกับโฮสต์อื่น ๆ ใน VLAN เดียวกันได้เท่านั้น แต่การที่จะทำให้โฮสต์สามารถติดต่อสื่อสารกับโฮสต์ใน VLAN อื่น ๆ ได้นั้น ก็จะต้องใช้วิธีการที่เรียกว่า Inter VLAN Routing ครับ ซึ่งก็คือการใช้อุปกรณ์ Layer 3 มาช่วยในการทำ Routing ระหว่าง VLAN ให้นั่นเองครับ
และก่อนที่จะเข้าสู่ขั้นตอนในการตั้งค่า ผมก็จะขอแนะนำให้เพื่อน ๆ รู้จักกับ รูปแบบของพอร์ตที่มีการตั้งค่าเพื่อใช้งานกันก่อนนะครับ โดยจะมีอยู่ 2 รูปแบบ คือ Access Port และ Trunk Port ครับ
- Access Port คือพอร์ตที่สามารถรับ-ส่งข้อมูล ได้เพียง VLAN เดียว ซึ่งโดยปกติจะใช้กับพอร์ตที่เชื่อมต่อไปยังโฮสต์หรือเครื่องของผู้ใช้ เพราะเครื่องของผู้ใช้แต่ละเครื่องส่วนมากก็จะถูกกำหนดให้อยู่ใน VLAN ใด VLAN หนึ่งเพียง VLAN เดียวเท่านั้น
- Trunk Port คือพอร์ตที่สามารถรับ-ส่งข้อมูล ได้หลาย VLAN โดยปกติจะใช้กับพอร์ตที่เชื่อมต่อระหว่าง Switch หรืออุปกรณ์เครือข่ายด้วยกัน เพื่อที่จะสามารถส่งข้อมูลในหลาย ๆ VLAN ไปยังอุปกรณ์ตัวอื่น ๆ ได้ โดยใช้เพียงอินเทอร์เฟสเดียวเท่านั้นได้
เอาล่ะครับเรามาเริ่มดูตัวอย่างการตั้งค่ากันเลยดีกว่านะครับ สำหรับขั้นตอนการตั้งค่า VLAN และทำ Inter VLAN ด้วย Cisco IOS Router ก็มีดังนี้
- ทำการสร้าง VLAN ลงบนสวิตซ์ทุกตัวที่ VLAN นั้น ๆ ใช้เป็นเส้นทางในการส่งข้อมูล
- ทำการกำหนดพอร์ตบนสวิตซ์ที่เชื่อมต่อไปยังเครื่องผู้ใช้ให้เป็นสมาชิกของ VLAN ที่ต้องการ
- ทำการกำหนดพอร์ตบนสวิตซ์ที่เชื่อมต่อไปยังสวิตซ์หรืออุปกรณ์เครือข่ายตัวอื่น ๆ ให้เป็น Trunk port
- ทำการตั้งค่าอินเทอร์เฟสบนเราเตอร์ให้ encapsulation เป็น dot1q เพื่อให้อินเทอร์เฟสนั้นเป็น Trunk port
- ทำการกำหนด IP Address ให้กับแต่ละอินเทอร์เฟสย่อย (Subinterface) เพื่อใช้เป็น Gateway ของแต่ละ VLAN
ในขั้นตอนแรกนี้ ก็เหมือนกับการตั้งค่า InterVLAN บน Switch Layer 3 นะครับ คือการสร้าง VLAN ลงบนสวิตซ์ทุก ๆ ตัวที่ใช้งาน VLAN นั้น ๆ ครับ ซึ่งในตัวอย่างนี้จะมีการใช้งาน VLAN อยู่ 2 VLAN คือ VLAN 10 และ VLAN 20 ครับ ก็ให้ไปทำการสร้างทั้งสอง VLAN นี้ลงบนสวิตซ์ทุก ๆ ตัวครับ และเมื่อทำการสร้าง VLAN ให้กับสวิตซ์แต่ละตัวเสร็จแล้วเราก็สามารถตรวจสอบได้โดยการใช้คำสั่ง "show vlan" ครับ
ตัวอย่าง
Switch(config)#vlan 10
Switch(config-vlan)#name Room-01
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#name Room-02
Switch(config-vlan)#exit
Switch(config)#do show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig1/1, Gig1/2
10 Room-01 active
20 Room-02 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
เมื่อทำการสร้าง VLAN แล้ว ในขั้นตอนต่อมาก็จะเป็นการกำหนดค่าให้อินเทอร์เฟสที่ใช้ในการเชื่อมต่อไปยังเครื่องของผู้ใช้นั้นเป็นสมาชิกของ VLAN ที่กำหนดนะครับ
ตัวอย่าง
Switch(config)#int fa0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
จากตัวอย่างด้านบน เป็นการตั้งค่าให้อินเทอร์เฟส FastEthernet0/1 เป็นสมาชิกของ VLAN 10 และอินเทอร์เฟส FastEternet0/2 เป็นสมาชิกของ VLAN 20 ครับ โดยการตั้งค่านี้จะต้องทำการกำหนดค่าให้กับสวิตซ์ทุกตัวและทุก ๆ อินเทอร์เฟสที่เชื่อมต่อไปยังเครื่องของผู้ใช้นะครับ
จากนั้นก็จะเป็นการกำหนดให้อินเทอร์เฟสที่เชื่อมต่อระหว่างอุปกรณ์เครือข่ายด้วยกัน(รวมถึงอินเทอร์เฟสที่เชื่อมต่อไปยังเราเตอร์ด้วยนะครับ) ให้ทำงานในโหมด Trunk นะครับ เพื่อที่จะได้สามารถส่งต่อข้อมูลของหลาย ๆ VLAN ไปในอินเทอร์เฟสเพียงอินเทอร์เฟสเดียวได้ครับ และเราสามารถตรวจสอบการตั้งค่าได้โดยการใช้คำสั่ง "show interface trunk" ครับ
ตัวอย่าง
Switch(config)#interface gigabitEthernet 1/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
Switch(config)#do show interface trunk
Port Mode Encapsulation Status Native vlan
Gig1/1 on 802.1q trunking 1
Port Vlans allowed on trunk
Gig1/1 1-1005
Port Vlans allowed and active in management domain
Gig1/1 1,10,20
Port Vlans in spanning tree forwarding state and not pruned
Gig1/1 1,10,20
จากตัวอย่างด้านบน เป็นการตั้งค่าให้อินเทอร์เฟส GigabitEthernet 1/1 ทำงานในโหมด Trunk นะครับ ซึ่งเราจะต้องทำการตั้งค่าบนอุปกรณ์ทั้งสองฝั่งของแต่ละ Link ให้ทำงานในโหมด Trunk นะครับ จึงจะสามารถใช้งานได้ และก็จะต้องทำการตั้งค่าบนอุปกรณ์ทุก ๆ ตัวนะครับ
เมื่อทำการตั้งค่าอินเทอร์เฟส Trunk บนสวิตซ์ทุก ๆ ตัวเรียบร้อยแล้ว ในขั้นต่อมาจะเป็นการตั้งค่าอินเทอร์เฟส Trunk บนเราเตอร์ เพื่อให้เราเตอร์สามารถคุยกับสวิตซ์ที่ encapsulation ข้อมูลมาในรูปแบบของโปรโตคอล 802.1q ได้ครับ โดยเราจะต้องทำการตั้งค่า Subinterface บนเราเตอร์ก่อนครับ(โดยการใส่หมายเลข subinterface ไว้ข้างหลัง physical interface ครับ เช่น Fa0/0.1 (โดยตัวเลขนี้เป็นลำดับเลขอะไรก็ได้ ไม่จำเป็นที่จะต้องตรงกับ VLAN ที่เราจะตั้งค่า แต่เพื่อความสะดวกส่วนมากก็จะทำการตั้งค่าให้เลขนี้ตรงกับ VLAN ที่เราจะใช้ครับ)) จากนั้นก็ให้ทำการกำหนดให้แต่ละ Subinterface เป็นสมาชิกของ VLAN ที่ต้องการ โดยการใช้คำสั่ง "encapsulation dot1Q <vlan number>" ครับ
ตัวอย่าง
Router(config)#interface FastEthernet 0/0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface FastEthernet 0/0.10
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#exit
Router(config)#interface FastEthernet 0/0.200
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#exit
จากตัวอย่างด้านบน เป็นการสร้าง Subinterface บนอินเทอร์เฟส FastEthernet 0/0 โดยให้ Subinterface Fa0/0.10 เป็นสมาชิกของ VLAN 10 และ Subinterface Fa0/0.200 เป็นสมาชิกของ VLAN 20 ครับ
เมื่อทำการสร้าง Subinterface บนเราเตอร์เรียบร้อยแล้ว ในขั้นตอนต่อมาเราก็จะทำการกำหนดหมายเลข IP Address ให้กับแต่ละ Subinterface กันครับ เพื่อที่จะได้นำมาใช้เป็น Gateway IP Address ของแต่ละ VLAN ครับ และเมื่อทำการตั้งค่าเสร็จแล้วเราสามารถใช้คำสั่ง "show ip interface brief" เพื่อตรวจสอบได้ครับ
ตัวอย่าง
Router(config)#interface FastEthernet 0/0.10
Router(config-subif)#ip address 10.10.10.1 255.255.255.0
Router(config-subif)#exit
Router(config)#interface FastEthernet 0/0.200
Router(config-subif)#ip address 10.10.20.1 255.255.255.0
Router(config-subif)#exit
Router(config)#exi
Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES unset up up
FastEthernet0/0.10 10.10.10.1 YES manual up up
FastEthernet0/0.200 10.10.20.1 YES manual up up
FastEthernet0/1 unassigned YES unset administratively down down
Vlan1 unassigned YES unset administratively down down
เพียงเท่านี้ก็เสร็จสิ้นการตั้งค่า Inter VLAN บน Cisco IOS Router แล้วครับ ต่อจากนี้ก็ให้ไปทำการตั้งค่าบนเครื่องของผู้ใช้ในแต่ละ VLAN ให้ชี้ gateway มาที่ IP Address ที่กำหนดนี้ก็สามารถที่จะติดต่อสื่อสารกันระหว่างเครื่องที่อยู่ต่าง VLAN กันได้แล้ว ไม่ยากเลยใช่มั้ยครับ
ขอบคุณค่ะ
ReplyDeleteตรงกับที่อาจารย์สอนเลยครับ
ReplyDeleteขอบคุณสำหรับความรู้ดีๆ
ReplyDeleteขอบ Cisco Packet Trace ขอบ cisco epc2325 หน่อยได้ไหมครับ เป็นสายเคเบิล บอร์ดแบนด์
ReplyDeleteหลุดบ่อยมาก thanetgame@gmail.com
ถ้าเราอยากเพิ่ม vlan ต้องทำยังงัยครับ
ReplyDeleteเยี่ยมเลย อธิบายได้เข้าใจง่ายดีครับ
ReplyDeleteใช้ภาษาได้ดี ขอบคุณมากครับ ตอนแรกผมงงกับ vlan มาก
interface FastEthernet 0/0 ไม่มี ip ใช่ไหมครับ
ReplyDelete