IPv6: การกำหนดคุณสมบัติใน Cisco C6500
Contents
บทนำ
การขยายตัวของการพัฒนาใช้งาน IPv6 ในประเทศไทย เป็นสาเหตุที่หลายหน่วยงาน รวมถึงสถาบันการศึกษา จำเป็นต้องนำ IPv6 ไปติดตั้งใช้งาน โดยส่วนของการดำเนินการจะแบ่งเป็น 3 หลัก ประกอบด้วย ส่วนของบริการหรือแม่ข่าย (Service or Server) ส่วนของโครงข่าย (Infrastructure) และส่วนของผู้ใช้ (User) การนำ IPv6 ไปกำหนดคุณสมบัติให้อุปกรณ์ของแต่ละส่วนจะมีความต่างกัน ทั้งขอบเขตตามหน้าที่การทำงานและวิธีการกำหนดคุณสมบัติ
การกำหนดคุณสมบัติ IPv6 ให้กับอุปกรณ์ Cisco C6500 ที่จะกล่าวในบทความนี้ เป็นการกำหนดคุณสมบัติในส่วนของโครงข่าย ทั้งเพื่อให้ตัว Cisco C6500 ใช้งาน IPv6 และส่วนที่จะเป็นโครงข่ายสำหรับให้บริการส่งต่อข้อมูล สามารถนำวิธีการนี้ไปใช้ได้กับอุปกรณ์ของ Cisco รุ่นอื่นได้ เช่น C4500 C3700 เป็นต้น
รายละเอียดของ Cisco C5600 คือ
Cisco IOS Software, ...., Version 15.1..., .... Cisco WS-C6509-E (M8572) processor (revision ) with 1785856K/262144K bytes of memory.
รายละเอียดของ Cisco C4500 คือ
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (....), Version 03.03.02.XO ..... Cisco WS-C4506-E (P5040) processor (revision 2) with 4194304K bytes of physical memory.
รายละเอียดของ Cisco C3700 คือ
Cisco IOS Software, C3750E Software (....), Version 15.2...., ..... Cisco WS-C3750X-24S (PowerPC405) processor (revision M0) with 524288K bytes of memory.
โครงสร้างโครงข่าย
จากตัวอย่างที่จะกล่าวถึงในหัวข้อถัดไป เป็นการกำหนดคุณสมบัติตามโครงสร้างการเชื่อมต่อดังภาพนี้
{ INTERNET } | +----+-----+ | | +---[DNSv6: 2001:303:CAFE::121, 2001:303:CAFE::111] | Firewall +-----+ | | +---[DHCPv6: 2001:303:CAFE::121] +----+-----+ |2001:303:CAFE:701::1/64, +RA | | |G0/1-(VLAN100): 2001:303:CAFE:701::2/64 or autoconfig, ra suppress +----+----+ | | | C6500 +-G0/2-(VLAN200): 2001:303:CAFE:702::1/64, Stateless --- {CLIENTS} | | +----+----+ |G0/3-(VLAN300): 2001:303:CAFE:703::1/64, Stateful (DHCP relay) | +---- {CLIENTS}
กำหนดคุณสมบัติพื้นฐาน
คุณสมบัติพื้นฐานเกี่ยวกับ IPv6 ของ Cisco C6500 ส่วนใหญ่จะเกิดจากการกำหนดคุณสมบัติในส่วนอื่น เช่น การกำหนดคุณสมบัติให้ interface แต่มีการกำหนดคุณมบัติบางอย่างที่ไม่ขึ้นอยู่กับ interface เช่น การใช้บริการ DNS การกำหนดคุณสมบัติเพื่อให้อุปกรณ์สามารถใช้บริการ DNS ได้ จะอาศัยบริการจากการกำหนดคุณสมบัติเดียวกับ IPv4 การกำหนดคุณสมบัตินี้เป็นส่วนเสริม (Optional) ไม่จำเป็นต้องกำหนดคุณสมบัติก็ได้ โดยอุปกรณ์ยังคงทำงานและให้บริการได้ปกติ
ตัวอย่างการกำหนดคุณสมบัติ DNS
! ip domain-name krc.rmuti.ac.th ip name-server 2001:303:cafe::121 2001:303:cafe::111 ip domain-lookup !
กำหนดคุณสมบัติให้ interface
การกำหนดคุณสมบัติให้ interface ของ C6500 แยกเป็น 2 ด้าน คือ ด้านที่เป็นอัพลิงค์ หรือด้านที่เชื่อมต่อไปยังเครือข่ายส่วนบน และด้านดาวน์ลิงค์ หรือด่านที่เชื่อมต่อไปยังเครือข่ายส่วนล่างหรือด้านผู้ใช้
interface ด้านอัพลิงค์
จากภาพโครงข่าย interface ด้านอัพลิงค์ของ C6500 คือ G0/0/1-(VLAN100) เชื่อมต่อไปยัง Firwall เพื่อสื่อสารสู่เครือข่ายภายนอก หรือเครือข่าย INTERNET สิ่งที่ต้องดำเนินการและเกี่ยวข้องกับ interface นี้ ประกอบด้วย 3 การดำเนินการ คือ การกำหนด IPv6 address การละเว้นการส่ง RA (Router Advertisement) และการกำหนด Default routing
ตัวอย่างการกำหนดคุณสมบัติโดยให้ interface รับ RA จาก Firewall
! ipv6 unicast-routing ! interface GigabitEthernet0/1 switchport switchport access vlan 100 switchport mode access ! interface Vlan100 description Uplink to Public Network via Firewall ipv6 address autoconfig ipv6 enable ipv6 nd ra suppress !
โดยอุปกรณ์จะรับค่า prefix (2001:303:CAFE:701::/64) จากการส่ง RA ของ Firewall มาประกอบการสร้าง IPv6 address ขึ้นเอง หมายเลข IPv6 address ที่ได้จะมีรูปแบบเป็น 2001:303:CAFE:701:????:????:????:????/64
แต่หากต้องการกำหนด IPv6 address เอง สามารถดำเนินการได้ดังตัวอย่างนี้
! ipv6 unicast-routing ! interface GigabitEthernet0/1 switchport switchport access vlan 100 switchport mode access ! interface Vlan100 description Uplink to Public Network via Firewall ipv6 address 2001:303:CAFE:701::2/64 ipv6 enable ipv6 nd ra suppress !
คำสั่ง ipv6 nd ra suppress คือการห้ามไม่ให้อุปกรณ์ส่ง RA ออกไปยังเครือข่ายที่ต่อกับ interface นี้
การกำหนด Default routing ให้อุปกรณ์ สามารถกำหนดได้ดังนี้
! ipv6 route ::/0 2001:303:CAFE:701::1 !
หรือกำหนด Default routing โดยตั้งค่า Administrative distance ไว้สูงกว่า Routing protocol อื่น เผื่อให้ Routing protocol เป็นผู้กำหนด Default routing ได้
! ipv6 route ::/0 2001:303:CAFE:701::1 254 !
interface ด้านดาวน์ลิงค์แบบ Stateless
จากภาพโครงข่าย interface ด้านดาวน์ลิงค์แบบ Stateless ของ C6500 คือ G0/0/2-(VLAN200) จะเชื่อมต่อไปยังเครือข่ายภายในหรือเครื่องของผู้ใช้
คำว่า Stateless โดยย่อแล้วหมายถึงการที่เครื่องของผู้ใช้กำหนดสร้างและกำหนดค่า IPv6 address ด้วยตนเอง หรือ Stateless address autoconfiguration (SLAAC) ไม่มีอุปกรณ์อื่นใดจดจำสถานะการนำ IPv6 address ที่เครื่องผู้ใช้นั้นนำไปติดตั้งและใช้งาน
สิ่งที่ต้องดำเนินการและเกี่ยวข้องกับ interface นี้ ประกอบด้วย 2 การดำเนินการ คือ การกำหนด IPv6 address และการส่งคุณสมบัติต่างๆ ด้วยวิธีการของ RA (Router Advertisement)
ตัวอย่างการกำหนดคุณสมบัติโดยให้ interface เพื่อให้ผู้ใช้ได้รับ IPv6 address แบบ Stateless
! ipv6 unicast-routing ! ipv6 dhcp pool Only_DNS_Servers dns-server 2001:303:CAFE::121 dns-server 2001:303:CAFE::111 domain-name sub.rmuti.ac.th ! interface GigabitEthernet0/2 switchport switchport access vlan 200 switchport mode access ! interface Vlan200 description Downlink to Clients with Stateless address assignment ipv6 address 2001:303:CAFE:702::1/64 ipv6 nd other-config-flag ipv6 nd router-preference High ipv6 dhcp server Only_DNS_Servers !
จากตัวอย่าง เป็นการกำหนดคุณสมบัติโดยให้ Cisco C6500 ส่ง RA ไปยังในเครือข่ายที่ต่อกับ interface เพื่อให้เครื่องผู้ใช้นำไปสร้างและใช้งาน IPv6 ด้วยตัวเอง โดยค่าที่ RA ส่งออกไปประกอบด้วย prefix (2001:303:CAFE:702::/64) และคุณสมบัติเกี่ยวกับ DNS server
คำสั่ง ipv6 nd other-config-flag คือการประกาศให้เครื่องผู้ใช้กำหนดหมายเลข IPv6 address จากวิธีการของ SLAAC แต่ร้องขอคุณสมบัติอื่นด้วยวิธีการของ DHCP เช่น ค่าที่เกียวข้องกับ DNS ซึ่งสัมพันธ์กับคำสั่ง ipv6 dhcp server Only_DNS_Servers และชุดคำสั่ง ipv6 dhcp pool Only_DNS_Servers
ทั้งนี้ หากเครือข่ายเป็นแบบ Dual-stack และเครื่องผู้ใช้มีค่าที่เกี่ยวข้องกับ DNS จาก IPv4 อยู่แล้ว เครื่องลูกข่ายจะใช้งาน DNS ได้ผ่าน IPv4 โดยไม่ต้องกำหนดด้าน IPv6 ก็ได้
interface ด้านดาวน์ลิงค์แบบ Stateful
จากภาพโครงข่าย interface ด้านดาวน์ลิงค์แบบ Stateful ของ C6500 คือ G0/0/3-(VLAN300) จะเชื่อมต่อไปยังเครือข่ายภายในหรือเครื่องของผู้ใช้
คำว่า Stateful โดยย่อแล้วหมายถึงมีเครื่องที่ทำหน้าที่จดจำสถานะการนำ IPv6 address ที่เครื่องผู้ใช้นั้นนำไปใช้งาน ในที่นี้หมายถึงแม่ข่าย DHCP server นั่นเอง
สิ่งที่ต้องดำเนินการและเกี่ยวข้องกับ interface นี้ ประกอบด้วย 2 การดำเนินการ คือ การกำหนด IPv6 address และการกำหนดให้ทำหน้าที่เป็น DHCP relay
ตัวอย่างการกำหนดคุณสมบัติโดยให้ interface เพื่อให้ผู้ใช้ได้รับ IPv6 address แบบ Stateful
! ipv6 unicast-routing ! interface GigabitEthernet0/3 switchport switchport access vlan 300 switchport mode access ! interface Vlan300 description Downlink to Clients with State Full address assignment ipv6 address 2001:303:CAFE:703::1/64 ipv6 enable ipv6 nd prefix 2001:303:CAFE:703::/64 no-advertise ipv6 nd managed-config-flag ipv6 nd router-preference High ipv6 dhcp relay destination 2001:303:CAFE::121 !
จากตัวอย่าง เป็นการกำหนดคุณสมบัติโดยให้ RA ใน Cisco C6500 ไม่ต้องส่ง prefix (2001:303:CAFE:703::/64) ไปยังในเครือข่ายที่ต่อกับ interface แต่จะทำหน้าที่เป็น DHCP relay ที่จะร้องขอคุณสมบัติจากเครื่องลูกข่ายไปยังแม่ข่าย DHCP server (2001:303:CAFE::121)
คำสั่ง ipv6 nd managed-config-flag คือการประกาศให้เครื่องผู้ใช้ร้องขอคุณสมบัติด้วยวิธีการของ DHCP
ค่าที่เกี่ยวข้องกับ DNS จะกำหนดไว้ใน DHCP server 2 รายการ คือ
- 00023: DNS Recursive Name Server IPv6 Address List
- 00024: Domain Search List
กำหนดคุณสมบัติ Routing
การเลือกเส้นทางของ Cisco C6500 มีวิธีการเช่นเดียวกันกับอุปกรณ์เราท์เตอร์อื่น โดยสามารถกำหนดเส้นทางได้ 2 วิธีการหลัก คือ การกำหนดด้วยมือ (Static routing) และการใช้ Routing protocol (Dynamic routing)
การกำหนดเส้นทางด้วยมือ
การกำหนดเส้นทางด้วยมือสำหรับ IPv6 ใน Cisco C6500 มีหลักการเหมือน IPv4 แต่จะใช้คำสั่ง ipv6 route ดังตัวอย่างต่อไปนี้
# Format # ! # ipv6 route <destination> <next-hop|interface> [administrative_distance] # ! # # Default routing ! ipv6 route ::/0 2001:303:CAFE:701::1 ! # # Default routing with Administrative distance ! ipv6 route ::/0 2001:303:CAFE:701::1 128 ! # # Specific destination ! ipv6 route 2001:303:CAFE:7FFF::/64 2001:303:CAFE:703::1 !
ทดสอบการทำงานหลังการกำหนดเส้นทางด้วยมือ ด้วยคำสั่ง show ipv6 route static ได้ผลดังตัวอย่าง
C650#sh ipv6 route static IPv6 Routing Table - default - 81 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, l - LISP S ::/0 [128/0] via 2001:303:CAFE:701::1 :
การกำหนดเส้นทางด้วย OSPFv3
หากต้องการใช้ OSPF (Open Shortest Path First) เป็น Routing protocol ในเครื่อข่าย เพื่อให้เราท์เตอร์แลกเปลี่ยนตารางเส้นทางของเครือข่าย IPv6 จะต้องใช้ OSPFv3
การกำหนดคุณสมบัติของ OSPFv3 ในตัวอย่างนี้ เป็นวิธีการหนึ่งที่สะดวกสำหรับผู้เขียน (เอาง่ายไปก่อน :) โดยใช้การประกาศ OSPFv3 process หมายเลข 1 ไว้ และไปกำหนด Area ที่ interface ดังตัวอย่างต่อไปนี้
! ipv6 unicast-routing ! : ! interface Vlan100 : ipv6 address 2001:303:CAFE:701::2/64 : ipv6 ospf 1 area 0 ! : ! interface Vlan200 : ipv6 address 2001:303:CAFE:702::1/64 : ipv6 ospf 1 area 0 ! : ! interface Vlan300 : ipv6 address 2001:303:CAFE:703::1/64 : ipv6 ospf 1 area 0 ! ipv6 router ospf 1 redistribute connected !
การกำหนด OSPFv3 process สามารถกำหนดอีกแบบหนึ่งได้ คือ
! router ospfv3 1 address-family ipv6 unicast redistribute connected exit-address-family !
ทดสอบการทำงานของ OSPFv3 ด้วยคำสั่ง show ipv6 route ospf ได้ผลดังตัวอย่าง
C6500# show ipv6 route ospf IPv6 Routing Table - default - XX entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 OE2 ::/0 [110/1], tag 1 via FE80::1A9C:5DFF:FE5E:B240, Vlan100 O 2001:303:CAFE:201::/64 [110/2] via FE80::1A9C:5DFF:FE5E:B240, Vlan200 O 2001:303:CAFE:301::/64 [110/2] via FE80::1A9C:5DFF:FE5E:B240, Vlan300 :