หัวข้อ CCNA อธิบายละเอียด: แต่ละเรื่องคืออะไร ทำงานอย่างไร และสำคัญอย่างไร

ซับเน็ต VLSM การเลือกเส้นทาง และ ACL: เรียน CCNA ตั้งแต่เลขฐานสอง

CCNA คือใบรับรองระดับเริ่มต้นของ Cisco สำหรับวิศวกรเครือข่าย ข้อสอบ 200-301 ครอบคลุมวิธีที่อุปกรณ์เชื่อมกัน วิธีที่ข้อมูลหาทางข้ามเครือข่าย วิธีรักษาความปลอดภัย และวิธีทำให้เครือข่ายทำงานอัตโนมัติ บทความนี้อธิบายหัวข้อหลักทีละเรื่องอย่างละเอียด ในแต่ละหัวข้อจะบอกว่าคืออะไร ทำงานทีละขั้นอย่างไร มีข้อผิดพลาดที่พบบ่อยอะไร และเห็นเป็นอย่างไรในเครือข่ายจริง

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

ไม่ต้องรู้การเขียนโปรแกรม ควรใช้คอมพิวเตอร์เป็นและรู้คร่าว ๆ ว่า IP แอดเดรสคืออะไร ส่วนแล็บต้องใช้โปรแกรมจำลองเครือข่าย เช่น Cisco Packet Tracer

ภาพประกอบ

โมเดล OSI คือการสื่อสารเครือข่ายที่แบ่งเป็นเจ็ดชั้น การกำหนด IP และการเลือกเส้นทางอยู่ที่ชั้น 3
โมเดล OSI คือการสื่อสารเครือข่ายที่แบ่งเป็นเจ็ดชั้น การกำหนด IP และการเลือกเส้นทางอยู่ที่ชั้น 3

หัวข้อที่ 1: โมเดล OSI และ TCP/IP

การแก้ปัญหาเครือข่ายจะยากมากถ้าทุกอย่างรวมเป็นปัญหาก้อนเดียว โมเดลจึงแบ่งการทำงานเป็นชั้น แต่ละชั้นมีหน้าที่เดียวและชุดโปรโตคอลของตัวเอง OSI มีเจ็ดชั้น ส่วน TCP/IP คือโมเดลสี่ชั้นที่ใช้จริงบนอินเทอร์เน็ต และทั้งสองเทียบกันได้

ชั้นทั้งเจ็ดของ OSI

ชั้น 7 Application (HTTP, DNS, DHCP ในมุมของโปรแกรม) ชั้น 6 Presentation (รูปแบบข้อมูลและการเข้ารหัส) ชั้น 5 Session (เปิดและปิดการสนทนา) ชั้น 4 Transport (TCP และ UDP พอร์ต ความน่าเชื่อถือ) ชั้น 3 Network (IP แอดเดรสและการเลือกเส้นทาง) ชั้น 2 Data link (MAC แอดเดรส เฟรม สวิตช์) ชั้น 1 Physical (สาย สัญญาณ ขั้วต่อ) วิธีจำคือ 'All People Seem To Need Data Processing' จากชั้น 7 ลงมาถึงชั้น 1

Encapsulation: ข้อมูลเดินทางลงแต่ละชั้นอย่างไร

เมื่อส่งหน้าเว็บ แต่ละชั้นจะเพิ่มส่วนหัว (header) ของตัวเอง ชั้น Transport เพิ่มหมายเลขพอร์ต ชั้น Network เพิ่ม IP แอดเดรสต้นทางและปลายทาง ชั้น Data link เพิ่ม MAC แอดเดรสและส่วนท้าย (trailer) ฝั่งผู้รับจะลอกส่วนหัวออกตามลำดับกลับกัน แต่ละชั้นอ่านเฉพาะส่วนหัวของตัวเอง จึงระบุปัญหาให้อยู่ในชั้นเดียวได้

ใช้ชั้นช่วยแก้ปัญหา

ถ้า PC ออกอินเทอร์เน็ตไม่ได้ ให้ตรวจจากล่างขึ้นบน ไฟลิงก์ติดหรือยัง (ชั้น 1) พอร์ตสวิตช์อยู่ใน VLAN ที่ถูกหรือไม่ (ชั้น 2) IP แอดเดรสและ default gateway ถูกต้องหรือไม่ (ชั้น 3) พอร์ตปลายทางบนเซิร์ฟเวอร์เปิดอยู่หรือไม่ (ชั้น 4) วิธีนี้เร็วกว่าการเปลี่ยนค่าการตั้งค่าไปเรื่อย ๆ

TCP/IP ในทางปฏิบัติ

โมเดล TCP/IP มีสี่ชั้น ได้แก่ Network Access, Internet, Transport และ Application ชั้น Internet ตรงกับ OSI ชั้น 3 ส่วน Network Access ครอบคลุม OSI ชั้น 1 และ 2 วิศวกรมักใช้ชื่อ TCP/IP เมื่อพูดถึงอินเทอร์เน็ต และใช้หมายเลขชั้น OSI เมื่อพูดถึงการทำงานภายในอุปกรณ์

หัวข้อที่ 2: การกำหนดแอดเดรส IPv4 และซับเน็ต

IPv4 แอดเดรสมี 32 บิต เขียนเป็นตัวเลขฐานสิบสี่ชุด (ออกเตต) แต่ละชุดมีค่า 0 ถึง 255 การทำซับเน็ตใช้ความยาว prefix เพื่อตัดสินว่าส่วนใดของแอดเดรสระบุเครือข่าย และส่วนใดระบุโฮสต์

วิธีแบ่งเครือข่าย /24 เป็นบล็อก /26 สี่บล็อก แต่ละบล็อกมีแอดเดรสเครือข่ายและบรอดคาสต์ของตัวเอง
วิธีแบ่งเครือข่าย /24 เป็นบล็อก /26 สี่บล็อก แต่ละบล็อกมีแอดเดรสเครือข่ายและบรอดคาสต์ของตัวเอง

ส่วนเครือข่ายกับส่วนโฮสต์

ใน 192.168.10.77/26 คำว่า /26 หมายถึง 26 บิตแรกเป็นส่วนเครือข่าย และ 6 บิตท้ายเป็นส่วนโฮสต์ โฮสต์ในเครือข่ายเดียวกันมี 26 บิตแรกเหมือนกัน การเปลี่ยน prefix จะเปลี่ยนขนาดเครือข่าย /24 มี 256 แอดเดรส /25 มี 128 /26 มี 64 /27 มี 32 และอื่น ๆ ตามลำดับ

แอดเดรสเครือข่าย บรอดคาสต์ และช่วงโฮสต์

แอดเดรสเครือข่ายคือแอดเดรสแรกของบล็อก โดยบิตโฮสต์ทั้งหมดเป็น 0 แอดเดรสบรอดคาสต์คือแอดเดรสสุดท้าย โดยบิตโฮสต์ทั้งหมดเป็น 1 แอดเดรสที่อยู่ระหว่างกลางใช้เป็นโฮสต์ได้ ยกเว้นตัวแรกและตัวสุดท้ายที่สงวนไว้ สำหรับ 192.168.10.77/26 บล็อกคือ 192.168.10.64 ถึง 192.168.10.127 โฮสต์ที่ใช้ได้คือ .65 ถึง .126 รวม 62 เครื่อง

ซับเน็ตมาสก์และไวลด์การ์ดมาสก์

ซับเน็ตมาสก์เขียนบิตเครือข่ายเป็นเลข 1 ดังนั้น /26 คือ 255.255.255.192 ไวลด์การ์ดมาสก์เป็นค่ากลับกัน คือ 0.0.0.63 ซึ่ง ACL ของ Cisco และ OSPF ใช้ การแปลงระหว่างสองแบบนี้เป็นงานที่ออกบ่อยในข้อสอบ ทำได้โดยเอาแต่ละออกเตตลบจาก 255

หาขนาดบล็อกอย่างรวดเร็ว

เอา 256 ลบด้วยออกเตตสุดท้ายของมาสก์ที่ไม่ใช่ 255 สำหรับ /26 มาสก์ลงท้ายด้วย 192 จึงได้ 256 - 192 = 64 ซึ่งคือขนาดบล็อก แอดเดรสเครือข่ายจะเป็น 0, 64, 128, 192 เทคนิคนี้ตอบคำถาม 'แอดเดรสนี้อยู่ซับเน็ตไหน' ได้ภายในไม่กี่วินาที

การตั้งค่าอุปกรณ์: กำหนดแอดเดรสให้อินเทอร์เฟซของเราเตอร์

ตั้ง IPv4 แอดเดรสและมาสก์ให้อินเทอร์เฟซ LAN และ WAN แล้วเปิดด้วย no shutdown ตรวจด้วย show ip interface brief ทุกอินเทอร์เฟซควรแสดงสถานะ up และ up

! Router R1: LAN and WAN interfaces with IPv4 addresses
enable
configure terminal
 hostname R1
 interface GigabitEthernet0/0
  description LAN-Sales
  ip address 192.168.10.1 255.255.255.192
  no shutdown
 exit
 interface GigabitEthernet0/1
  description WAN-to-ISP
  ip address 203.0.113.2 255.255.255.252
  no shutdown
 exit
end
write memory
! Check
show ip interface brief

หัวข้อที่ 3: VLSM และการวางแผนแอดเดรส

ซับเน็ตขนาดคงที่ทำให้แอดเดรสสูญเปล่า ลิงก์ระหว่างเราเตอร์สองตัวต้องการแค่ 2 แอดเดรส แต่ /24 คงที่ให้ 254 VLSM (Variable Length Subnet Masking) ให้แต่ละเครือข่ายใช้ prefix ต่างกันตามขนาดที่ต้องการจริง

VLSM ทำงานอย่างไร

เริ่มจากเครือข่ายที่ต้องการมากที่สุด ให้ prefix ที่เล็กที่สุดที่ยังพอสำหรับโฮสต์ของมัน แล้ววางเครือข่ายถัดไปต่อจากตัวแรก เช่น 50 โฮสต์ต้องใช้บิตโฮสต์ 6 บิต (ใช้ได้ 62) จึงเป็น /26 ส่วน 20 โฮสต์เป็น /27 (ใช้ได้ 30) และ 2 โฮสต์เป็น /30 (ใช้ได้ 2)

กฎการจัดแนว

ทุกบล็อกต้องเริ่มที่ตัวคูณของขนาดตัวเอง /27 (32 แอดเดรส) เริ่มที่ .0, .32, .64 ได้ แต่เริ่มที่ .10 ไม่ได้ การละเลยกฎนี้ทำให้ซับเน็ตซ้อนทับกัน ซึ่งเป็นข้อผิดพลาด VLSM ที่พบบ่อยที่สุด

การรวมเส้นทาง (Summarisation)

ซับเน็ตที่อยู่ติดกันรวมเป็นเส้นทางใหญ่เส้นเดียวได้ เช่น 10.1.0.0/24 และ 10.1.1.0/24 รวมเป็น 10.1.0.0/23 การวางแผนที่ดีทำให้เราเตอร์ประกาศเส้นทางเดียวแทนหลายเส้น ตารางเส้นทางจึงเล็กลง

เช็กลิสต์การวางแผน

นับโฮสต์ของแต่ละเครือข่ายแล้วเผื่อการขยายตัว เรียงจากใหญ่ไปเล็ก จัดสรรบล็อกโดยคำนึงถึงการจัดแนว แล้วจดเครือข่าย โฮสต์แรก โฮสต์สุดท้าย และ gateway ของแต่ละเครือข่าย แผนที่เขียนไว้ป้องกันข้อผิดพลาดด้านแอดเดรสได้ส่วนใหญ่ทั้งในแล็บและงานจริง

หัวข้อที่ 4: Ethernet สวิตช์ และ VLAN

สวิตช์เชื่อมอุปกรณ์ภายในเครือข่ายภายในเดียวกัน มันทำงานที่ชั้น 2 และใช้ MAC แอดเดรส ซึ่งเป็นแอดเดรสฮาร์ดแวร์ 48 บิต เพื่อตัดสินว่าจะส่งเฟรมไปที่ไหน

ตาราง MAC address

เมื่อเฟรมมาถึง สวิตช์บันทึก MAC ต้นทางและพอร์ตที่รับเข้ามา ถ้าต้องส่งไปยัง MAC ปลายทางที่รู้จักแล้ว จะส่งเฉพาะพอร์ตนั้น ถ้าปลายทางไม่รู้จักหรือเป็นบรอดคาสต์ จะกระจาย (flood) เฟรมไปทุกพอร์ตยกเว้นพอร์ตที่รับเข้า

โดเมนชนกันและโดเมนบรอดคาสต์

แต่ละพอร์ตของสวิตช์เป็นโดเมนการชนกันของตัวเอง อุปกรณ์จึงไม่ชนกันเอง โดเมนบรอดคาสต์คือกลุ่มอุปกรณ์ที่ได้รับบรอดคาสต์ของกันและกัน สวิตช์ทั่วไปให้โดเมนบรอดคาสต์ใหญ่ตามเครือข่าย เราเตอร์หรือ VLAN คือสิ่งที่แบ่งโดเมนนี้

VLAN: แยกเครือข่ายในสวิตช์เดียว

VLAN คือเครือข่ายเชิงตรรกะที่มีหมายเลข พอร์ตถูกกำหนดให้อยู่ใน VLAN ใด โฮสต์ใน VLAN 10 จึงเข้าถึงโฮสต์ใน VLAN 20 ไม่ได้ที่ชั้น 2 โดยปกติแต่ละ VLAN มีซับเน็ตของตัวเอง และต้องใช้เราเตอร์หรือสวิตช์ชั้น 3 เพื่อส่งทราฟฟิกระหว่างกัน VLAN ช่วยเพิ่มความปลอดภัยและลดบรอดคาสต์

Access port และ Trunk

Access port ส่ง VLAN เดียวและเชื่อมกับอุปกรณ์ปลายทาง Trunk ส่งหลาย VLAN ระหว่างสวิตช์ โดยใช้แท็ก 802.1Q บอกว่าแต่ละเฟรมอยู่ VLAN ใด Native VLAN บน trunk ส่งเฟรมที่ไม่มีแท็ก และปลายทั้งสองข้างต้องตั้งค่าให้ตรงกัน

Spanning Tree Protocol

ลิงก์สำรองสร้างลูป ถ้าไม่มีการป้องกัน บรอดคาสต์จะวนไม่รู้จบและทำให้เครือข่ายล่ม Spanning Tree Protocol (STP) บล็อกบางพอร์ตเพื่อให้มีเส้นทางใช้งานเพียงเส้นเดียว ถ้าลิงก์ที่ใช้อยู่เสีย STP จะปลดบล็อกเส้นสำรอง สวิตช์แต่ละตัวเลือก root bridge และพอร์ตที่มีต้นทุนต่ำสุดไปยัง root จะเปิดอยู่

การตั้งค่าอุปกรณ์: สร้าง VLAN และพอร์ตเข้าใช้งานบนสวิตช์

สร้าง VLAN 10 และ VLAN 20 ใส่พอร์ตผู้ใช้ลงใน VLAN และตั้งลิงก์ไปยังสวิตช์อีกตัวเป็น trunk ที่ส่งทั้งสอง VLAN Port security จำกัดพอร์ตฝ่ายขายให้เรียนรู้ MAC ได้สองตัว และปฏิเสธตัวอื่น

! Switch SW1: VLANs, access ports, trunk and port security
enable
configure terminal
 vlan 10
  name SALES
 exit
 vlan 20
  name IT
 exit
 interface range FastEthernet0/1 - 10
  switchport mode access
  switchport access vlan 10
 exit
 interface range FastEthernet0/11 - 20
  switchport mode access
  switchport access vlan 20
 exit
 interface FastEthernet0/1
  switchport port-security
  switchport port-security maximum 2
  switchport port-security violation restrict
  switchport port-security mac-address sticky
 exit
 interface GigabitEthernet0/1
  switchport mode trunk
  switchport trunk allowed vlan 10,20
  switchport trunk native vlan 99
 exit
end
write memory
! Check
show vlan brief
show interfaces trunk
show port-security interface FastEthernet0/1

หัวข้อที่ 5: การกำหนดเส้นทาง: ตารางเส้นทาง Static Route และ OSPF

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

อ่านตารางเส้นทาง

แต่ละเส้นทางมีเครือข่ายปลายทาง prefix hop ถัดไปหรืออินเทอร์เฟซขาออก ค่า administrative distance และ metric เครือข่ายที่ต่อตรงมีค่า distance 0 และถูกเพิ่มอัตโนมัติ Static route มี distance 1 โดยค่าเริ่มต้น เราเตอร์ใช้เส้นทางที่ prefix ตรงยาวที่สุด และเมื่อเท่ากันจะเลือกค่า distance ต่ำสุด

Static route

Static route ผู้ดูแลพิมพ์เอง เช่น ip route 10.2.0.0 255.255.255.0 192.168.1.2 ง่ายและคาดการณ์ได้ และไม่ใช้แบนด์วิดท์ในการประกาศ แต่มันไม่รู้ว่าลิงก์เสียเอง จึงเหมาะกับเครือข่ายเล็กและ default route ไปยัง ISP

Default route

Default route 0.0.0.0/0 ตรงกับทุกปลายทาง ถูกใช้เฉพาะเมื่อไม่มีเส้นทางอื่นตรง เราเตอร์สาขามักมี default route ชี้ไปยังสำนักงานใหญ่หรือ ISP ทำให้ตารางเส้นทางเล็ก

OSPF: โปรโตคอลแบบ link-state

เราเตอร์ OSPF แลกเปลี่ยนข้อมูลเกี่ยวกับลิงก์และสถานะของลิงก์ แต่ละตัวสร้างแผนที่เครือข่ายเดียวกัน แล้วใช้อัลกอริทึม Dijkstra หาเส้นทางที่สั้นที่สุดไปทุกปลายทาง โดยใช้ cost OSPF ลู่เข้าสู่สถานะคงที่ได้เร็วหลังมีความล้มเหลว และรองรับ area เพื่อให้เครือข่ายใหญ่จัดการได้ เพื่อนบ้านจับคู่กันด้วยแพ็กเก็ต Hello

Administrative distance และ metric

เมื่อเราเตอร์เรียนรู้เส้นทางเดียวกันจากสองแหล่ง administrative distance ตัดสินว่าจะเชื่อแหล่งใด Static เป็น 1 และ OSPF เป็น 110 จากนั้น metric จะตัดสินระหว่างเส้นทางจากแหล่งเดียวกัน OSPF ใช้ cost ซึ่งคิดจากแบนด์วิดท์

การตั้งค่าอุปกรณ์: เพิ่ม static route และ OSPF

Static route บอกเราเตอร์ว่าจะไปยังเครือข่ายที่มองไม่เห็นโดยตรงอย่างไร OSPF ทำให้เราเตอร์เรียนรู้เครือข่ายภายในจากกันเองโดยอัตโนมัติ คำสั่ง passive-interface หยุดการส่ง Hello บน LAN ซึ่งไม่จำเป็นต้องส่ง

! Router R1: a static route to the IT network and OSPF for internal networks
enable
configure terminal
 ip route 10.2.0.0 255.255.255.0 192.168.1.2
 ip route 0.0.0.0 0.0.0.0 203.0.113.1
 router ospf 1
  router-id 1.1.1.1
  network 192.168.10.0 0.0.0.63 area 0
  network 10.0.0.0 0.255.255.255 area 0
  passive-interface GigabitEthernet0/0
 exit
end
write memory
! Check
show ip route
show ip ospf neighbor
วิธีที่เราเตอร์เลือกเส้นทาง: แอดเดรสเดียวอาจตรงกับหลายเส้นทาง และเส้นทางที่เจาะจงที่สุด (prefix ยาวที่สุด) จะชนะ
วิธีที่เราเตอร์เลือกเส้นทาง: แอดเดรสเดียวอาจตรงกับหลายเส้นทาง และเส้นทางที่เจาะจงที่สุด (prefix ยาวที่สุด) จะชนะ

หัวข้อที่ 6: NAT และ PAT

ช่วง IP ส่วนตัว เช่น 10.0.0.0/8, 172.16.0.0/12 และ 192.168.0.0/16 สงวนไว้ใช้ภายในองค์กร ทราฟฟิกจากช่วงเหล่านี้จึงส่งบนอินเทอร์เน็ตสาธารณะไม่ได้ เราเตอร์ที่ขอบเครือข่ายจึงแปลแอดเดรส

Inside local กับ inside global

คำศัพท์ของ NAT: inside local คือแอดเดรสส่วนตัวของโฮสต์ ส่วน inside global คือแอดเดรสสาธารณะที่โฮสต์นั้นปรากฏเป็นเมื่ออยู่นอกเครือข่าย แอดเดรส outside คือแอดเดรสของโฮสต์ปลายทางระยะไกล การแปลเกิดที่รอยต่อระหว่างอินเทอร์เฟซ inside กับ outside

Static NAT

Static NAT สร้างการแมปหนึ่งต่อหนึ่งที่คงที่ เช่น 192.168.1.10 แปลเป็น 203.0.113.10 เสมอ ใช้กับเซิร์ฟเวอร์ที่ต้องเข้าจากภายนอก เช่น เว็บเซิร์ฟเวอร์หรือเมลเซิร์ฟเวอร์

Dynamic NAT

Dynamic NAT จ่ายแอดเดรสสาธารณะจากพูลให้โฮสต์ส่วนตัวตอนเชื่อมต่อครั้งแรก และคืนเมื่อเซสชันจบ ยังต้องใช้แอดเดรสสาธารณะหนึ่งตัวต่อโฮสต์ที่ใช้งานอยู่ จึงไม่ประหยัดแอดเดรสมากนัก

PAT (NAT overload)

PAT แมปโฮสต์ส่วนตัวหลายเครื่องให้เป็นแอดเดรสสาธารณะเพียงตัวเดียว โดยเปลี่ยนพอร์ตต้นทางของแต่ละเซสชัน เราเตอร์เก็บตารางการแปลที่จับคู่แอดเดรสและพอร์ตภายในกับแอดเดรสและพอร์ตภายนอก นี่คือวิธีที่เครือข่ายบ้านหรือสำนักงานที่มีอุปกรณ์หลายสิบเครื่องใช้ IP สาธารณะเพียงตัวเดียว

การตั้งค่าอุปกรณ์: ตั้งค่า PAT และ static NAT

โฮสต์ภายในหลายเครื่องใช้แอดเดรสภายนอกร่วมกันผ่าน overload (PAT) เว็บเซิร์ฟเวอร์ได้การแมปคงที่จากพอร์ตสาธารณะ 80 ไปยังแอดเดรสส่วนตัว ต้องกำหนดแต่ละอินเทอร์เฟซเป็น inside หรือ outside ไม่เช่นนั้น NAT จะไม่ทำงาน

! Router R1 (edge): PAT for the inside LAN, and static NAT for a public web server
enable
configure terminal
 access-list 1 permit 192.168.10.0 0.0.0.63
 ip nat inside source list 1 interface GigabitEthernet0/1 overload
 ip nat inside source static tcp 192.168.20.10 80 203.0.113.10 80
 interface GigabitEthernet0/0
  ip nat inside
 exit
 interface GigabitEthernet0/1
  ip nat outside
 exit
end
write memory
! Check
show ip nat translations
show ip nat statistics

หัวข้อที่ 7: Access Control List (ACL)

ACL คือรายการกฎที่เรียงลำดับ ซึ่งอนุญาตหรือปฏิเสธทราฟฟิก เราเตอร์และสวิตช์ใช้กรองแพ็กเก็ต เช่น หยุดไม่ให้เครือข่ายแขกเข้าถึงเครือข่ายเซิร์ฟเวอร์

ลำดับของกฎสำคัญ

อุปกรณ์ตรวจกฎจากบนลงล่างและใช้กฎแรกที่ตรง มันไม่ดูกฎที่เหลือ กฎกว้างที่วางไว้เหนือกฎเจาะจงจะบดบังกฎเจาะจง จึงควรวางกฎที่เจาะจงที่สุดไว้ก่อน

Implicit deny

ACL ทุกตัวจบด้วยกฎปฏิเสธทั้งหมดที่มองไม่เห็น ถ้าแพ็กเก็ตไม่ตรงกฎใดเลยจะถูกทิ้ง ความผิดพลาดที่พบบ่อยคือเขียนแต่กฎ deny แล้วคาดว่าทราฟฟิกอื่นจะผ่าน แต่ implicit deny จะบล็อกไว้

Standard ACL กับ Extended ACL

Standard ACL กรองเฉพาะแอดเดรสต้นทาง ควรวางใกล้ปลายทาง Extended ACL กรองได้ทั้งแอดเดรสต้นทางและปลายทาง โปรโตคอล และหมายเลขพอร์ต เช่น อนุญาตเฉพาะ TCP พอร์ต 443 ควรวางใกล้ต้นทางเพื่อทิ้งทราฟฟิกที่ไม่ต้องการตั้งแต่ต้นทาง

ไวลด์การ์ดมาสก์ใน ACL

ACL ใช้ไวลด์การ์ดมาสก์แทนซับเน็ตมาสก์ ไวลด์การ์ด 0.0.0.255 ตรงกับเครือข่าย /24 และ 0.0.0.0 ตรงกับโฮสต์เดียวเป๊ะ คำว่า 'any' หมายถึง 0.0.0.0 255.255.255.255

นำ ACL ไปใช้

ACL ไม่ทำอะไรเลยจนกว่าจะนำไปผูกกับอินเทอร์เฟซและทิศทาง Inbound กรองทราฟฟิกที่เข้าอินเทอร์เฟซ ส่วน Outbound กรองทราฟฟิกที่ออกจากอินเทอร์เฟซ การเลือกทิศทางให้ถูกเป็นการตัดสินใจที่สำคัญที่สุดอย่างหนึ่งเมื่อตั้งค่าตัวกรอง

การตั้งค่าอุปกรณ์: เขียน ACL แบบขยาย

ACL บล็อก Telnet จากซับเน็ตฝ่ายขายไปยังเซิร์ฟเวอร์และอนุญาตที่เหลือ ลำดับกฎสำคัญ บรรทัด deny ต้องอยู่ก่อนบรรทัด permit ใช้ขาเข้า (inbound) บนอินเทอร์เฟซ LAN เพื่อตรวจทราฟฟิกตั้งแต่ที่เข้าเราเตอร์

! Extended ACL on R1: block Telnet from the sales LAN to the server, allow everything else
enable
configure terminal
 ip access-list extended SERVER-IN
  remark Block Telnet from sales to the server
  deny tcp 192.168.10.0 0.0.0.63 host 192.168.20.10 eq telnet
  permit ip any any
 exit
 interface GigabitEthernet0/0
  ip access-group SERVER-IN in
 exit
end
write memory
! Check
show ip access-lists SERVER-IN

หัวข้อที่ 8: บริการเครือข่าย: DHCP, DNS, NTP และ Logging

โฮสต์พึ่งบริการหลายอย่างเพื่อทำงานได้ถูกต้อง ถ้าไม่มีบริการเหล่านี้ เราต้องพิมพ์แอดเดรส ชื่อ และเวลาเองทุกครั้ง

DHCP: แอดเดรสอัตโนมัติ

DHCP ทำงานเป็นสี่ขั้นตอนที่เรียกว่า DORA: Discover (ไคลเอนต์ส่งบรอดคาสต์ขอแอดเดรส) Offer (เซิร์ฟเวอร์เสนอแอดเดรส) Request (ไคลเอนต์ตอบรับ) และ Acknowledge (เซิร์ฟเวอร์ยืนยันการเช่า) เซิร์ฟเวอร์ยังให้ default gateway, DNS server และเวลาเช่า เราเตอร์ทำหน้าที่เป็น DHCP server ให้เครือข่ายสาขาขนาดเล็กได้

DNS: จากชื่อเป็นแอดเดรส

DNS แปลชื่อ เช่น www.example.com เป็น IP แอดเดรส ไคลเอนต์ถาม DNS server ที่ตั้งไว้ ซึ่งอาจถามเซิร์ฟเวอร์อื่นตามลำดับชั้น เรคคอร์ดที่พบบ่อยได้แก่ A (IPv4), AAAA (IPv6), MX (เมลเซิร์ฟเวอร์) และ CNAME (ชื่อแทน) ปัญหา DNS มักดูเหมือนปัญหาเครือข่าย จึงควรทดสอบทั้งด้วยชื่อและด้วย IP

NTP: ให้นาฬิกาตรงกัน

NTP ซิงโครไนซ์นาฬิกาของอุปกรณ์กับแหล่งเวลา เวลาที่แม่นยำสำคัญต่อการเทียบ log เมื่อเหตุการณ์เกิดข้ามหลายอุปกรณ์ และสำคัญต่อใบรับรองที่ใช้ได้เฉพาะในช่วงเวลาหนึ่ง อุปกรณ์ตั้งเป็นไคลเอนต์ของเซิร์ฟเวอร์เวลา หรือเป็นเซิร์ฟเวอร์ให้อุปกรณ์อื่นก็ได้

Syslog และ SNMP

Syslog ส่งข้อความเหตุการณ์จากอุปกรณ์ไปยังเซิร์ฟเวอร์ log กลางเพื่อค้นหาได้ ทุกข้อความมีระดับความรุนแรงจาก 0 (emergency) ถึง 7 (debug) SNMP ให้ระบบจัดการดึงค่าตัวนับ เช่น ทราฟฟิกของอินเทอร์เฟซ และส่ง trap เมื่อมีเหตุการณ์ SNMP เวอร์ชัน 3 เพิ่มการยืนยันตัวตนและการเข้ารหัส

การตั้งค่าอุปกรณ์: ตั้งค่า DHCP, DNS, NTP และ logging

DHCP pool แจกแอดเดรสให้ LAN ฝ่ายขาย ช่วงที่ยกเว้นทำให้เราเตอร์และเซิร์ฟเวอร์ไม่ถูกแจกไป DNS, NTP และ syslog host ทำให้ชื่อ เวลา และ log ทำงานร่วมกัน

! DHCP for the sales LAN, plus DNS, NTP and logging
enable
configure terminal
 ip dhcp excluded-address 192.168.10.1 192.168.10.10
 ip dhcp pool SALES
  network 192.168.10.0 255.255.255.192
  default-router 192.168.10.1
  dns-server 192.168.20.53
  lease 7
 exit
 ip domain-name example.local
 ntp server 192.168.20.123
 logging host 192.168.20.514
 service timestamps log datetime msec
end
write memory
! Check
show ip dhcp binding
show ntp status
show logging

หัวข้อที่ 9: พื้นฐานความปลอดภัยและการทำให้เป็นอัตโนมัติ

ความปลอดภัยเริ่มจากการป้องกันตัวอุปกรณ์เอง แล้วจึงป้องกันทราฟฟิกที่ผ่านอุปกรณ์ การทำให้เป็นอัตโนมัติช่วยลดการแก้ไขด้วยมือที่อาจผิดพลาด

การป้องกันการเข้าถึงอุปกรณ์

ใช้ SSH แทน Telnet เพราะ Telnet ส่งรหัสผ่านเป็นข้อความธรรมดา ตั้ง enable secret ที่แข็งแรง ตั้ง banner เตือนผู้ใช้ที่ไม่ได้รับอนุญาต และตั้งเวลาหมดอายุการใช้งานบนสาย console และ VTY จำกัดการเข้า VTY ให้อยู่เฉพาะซับเน็ตบริหารจัดการด้วย ACL

Port security

Port security จำกัดจำนวน MAC แอดเดรสที่พอร์ตสวิตช์เรียนรู้ได้ และปิดพอร์ตได้หากมีอุปกรณ์ใหม่เสียบเข้ามา ช่วยป้องกันการเสียบสวิตช์เถื่อนหรือการปลอม MAC บนพอร์ตสาธารณะ โหมด sticky จะบันทึก MAC ที่เรียนรู้ไว้ในคอนฟิก

AAA: Authentication, Authorization, Accounting

AAA ควบคุมว่าใครเข้าสู่ระบบได้ (authentication) หลังล็อกอินทำอะไรได้ (authorization) และบันทึกว่าทำอะไรไปบ้าง (accounting) มักใช้เซิร์ฟเวอร์กลาง เช่น TACACS+ หรือ RADIUS เพื่อจัดการบัญชีในที่เดียว

การทำให้เป็นอัตโนมัติและการเขียนโปรแกรมได้

การตั้งค่าอุปกรณ์จำนวนมากด้วยมือช้าและผิดพลาดง่าย API ให้ซอฟต์แวร์อ่านและเปลี่ยนค่าอุปกรณ์ได้โดยตรง REST API ใช้เมธอด HTTP (GET, POST, PUT, DELETE) และส่งข้อมูลในรูปแบบ JSON ซึ่งเป็นข้อความที่มีคีย์และค่า ตัวควบคุม เช่น Cisco DNA Center ส่งนโยบายเดียวไปยังอุปกรณ์หลายตัวพร้อมกัน

การตั้งค่าอุปกรณ์: รักษาความปลอดภัยการเข้าถึงสวิตช์

อนุญาตเฉพาะ SSH บนสาย VTY ผู้ใช้ล็อกอินด้วยบัญชีภายในเครื่อง เซสชันที่ว่างจะหมดเวลา และ access list จำกัดการจัดการให้อยู่ในซับเน็ตเดียว ใช้รหัสผ่านที่แข็งแรงของคุณเอง และอย่าเก็บรหัสผ่านจริงในเอกสารที่แชร์

! Securing device access on SW1: SSH only, local login, timeout, management subnet only
enable
configure terminal
 hostname SW1
 ip domain-name example.local
 crypto key generate rsa modulus 2048
 username admin privilege 15 secret <strong-password>
 enable secret <strong-password>
 banner motd #Authorised users only#
 ip access-list standard MGMT-ONLY
  permit 192.168.20.0 0.0.0.255
  deny any
 exit
 line vty 0 4
  transport input ssh
  login local
  exec-timeout 5 0
  access-class MGMT-ONLY in
 exit
end
write memory
! Check
show ip ssh
show running-config | section line vty

ฝึกในแล็บ

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

1. วางแผนแอดเดรสก่อน ใช้วิธี VLSM กับ /24 สำหรับสามเครือข่าย คือ 50, 20 และ 2 โฮสต์

2. ตั้งค่าพีซีให้มี IP แอดเดรส ซับเน็ตมาสก์ และ default gateway ตามแผน

3. สร้าง VLAN สองวงบนสวิตช์ ใส่พีซีวงละเครื่อง แล้วตรวจว่าทั้งสองเครื่องติดต่อกันไม่ได้

4. เชื่อมสวิตช์ด้วย trunk แล้วตรวจ native VLAN

5. เพิ่ม static route บนเราเตอร์แต่ละตัว และทดสอบด้วย ping และ traceroute

6. เพิ่ม ACL ที่บล็อกพีซีหนึ่งเครื่องไม่ให้เข้าเซิร์ฟเวอร์ นำไปผูกในทิศทางที่ถูกต้อง แล้วทดสอบอีกครั้ง

ขั้นต่อไป

หลังจากพื้นฐาน ให้เจาะลึกทีละหัวข้อ เริ่มจากซับเน็ตและการเลือกเส้นทาง เพราะหัวข้ออื่นส่วนใหญ่ต้องใช้สองเรื่องนี้ ก่อนตั้งค่าอะไรในแล็บ ให้เขียนแผนไว้ก่อน ปัญหาในแล็บส่วนใหญ่มาจากมาสก์ gateway หรือ VLAN ที่ผิด

สรุป

CCNA ครอบคลุมวิธีที่อุปกรณ์เชื่อมกัน วิธีส่งแพ็กเก็ตข้ามเครือข่าย วิธีรักษาความปลอดภัย และวิธีทำให้อัตโนมัติ แนวคิดหลักคือซับเน็ต สวิตช์และ VLAN การเลือกเส้นทางด้วยกฎ prefix ที่ยาวที่สุด NAT ACL และบริการเครือข่ายพื้นฐาน เรียนแต่ละเรื่องให้เข้าใจ แล้วทดสอบในแล็บ