ยินดีต้อนรับสู่ show running-config ครับ

บล็อก show running-config นี้สร้างไว้เพื่อเป็นแหล่งรวบรวมเทคนิคการตั้งค่าอุปกรณ์เครือข่าย Cisco ไม่ว่าจะเป็น Cisco IOS Router, Cisco Catalyst Swtich, Cisco ASA Firewall, Cisco Mars เป็นต้น รวมทั้งอาจจะมีเทคนิคการตั้งค่าอุปกรณ์ในยี่ห้ออื่น ๆ บ้างเล็กน้อยครับ

ซึ่งบทความในบล็อกนี้ก็จะรวบรวมมาจากประสบการณ์ส่วนตัวของกระผมเองครับ (หากมีข้อผิดพลาดก็ขออภัยไว้ล่วงหน้าเลยละกันนะครับ) และก็อยากใช้พื้นที่แห่งนี้เป็นแหล่งในการแลกเปลี่ยนความรู้ รวมไปถึงวิธีการหรือเทคนิคการตั้งค่าอุปกรณ์เครือข่าย กับทุก ๆ คนครับ

Saturday, February 12, 2011

การทำ Inter VLAN โดยการใช้ Cisco IOS Router

Configure Inter Vlan on Cisco IOS Router 

configure intervlan 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 ไปยังอุปกรณ์ตัวอื่น ๆ ได้ โดยใช้เพียงอินเทอร์เฟสเดียวเท่านั้นได้

image

          เอาล่ะครับเรามาเริ่มดูตัวอย่างการตั้งค่ากันเลยดีกว่านะครับ สำหรับขั้นตอนการตั้งค่า VLAN และทำ Inter VLAN ด้วย Cisco IOS Router ก็มีดังนี้

  1. ทำการสร้าง VLAN ลงบนสวิตซ์ทุกตัวที่ VLAN นั้น ๆ ใช้เป็นเส้นทางในการส่งข้อมูล
  2. ทำการกำหนดพอร์ตบนสวิตซ์ที่เชื่อมต่อไปยังเครื่องผู้ใช้ให้เป็นสมาชิกของ VLAN ที่ต้องการ
  3. ทำการกำหนดพอร์ตบนสวิตซ์ที่เชื่อมต่อไปยังสวิตซ์หรืออุปกรณ์เครือข่ายตัวอื่น ๆ ให้เป็น Trunk port
  4. ทำการตั้งค่าอินเทอร์เฟสบนเราเตอร์ให้ encapsulation เป็น dot1q เพื่อให้อินเทอร์เฟสนั้นเป็น Trunk port
  5. ทำการกำหนด IP Address ให้กับแต่ละอินเทอร์เฟสย่อย (Subinterface) เพื่อใช้เป็น Gateway ของแต่ละ VLAN

topology copy 

          ในขั้นตอนแรกนี้ ก็เหมือนกับการตั้งค่า 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 กันได้แล้ว ไม่ยากเลยใช่มั้ยครับ

7 comments :

  1. ขอบคุณค่ะ

    ReplyDelete
  2. ตรงกับที่อาจารย์สอนเลยครับ

    ReplyDelete
  3. ขอบคุณสำหรับความรู้ดีๆ

    ReplyDelete
  4. ขอบ Cisco Packet Trace ขอบ cisco epc2325 หน่อยได้ไหมครับ เป็นสายเคเบิล บอร์ดแบนด์
    หลุดบ่อยมาก thanetgame@gmail.com

    ReplyDelete
  5. ถ้าเราอยากเพิ่ม vlan ต้องทำยังงัยครับ

    ReplyDelete
  6. เยี่ยมเลย อธิบายได้เข้าใจง่ายดีครับ

    ใช้ภาษาได้ดี ขอบคุณมากครับ ตอนแรกผมงงกับ vlan มาก

    ReplyDelete
  7. interface FastEthernet 0/0 ไม่มี ip ใช่ไหมครับ

    ReplyDelete