Wednesday, October 3, 2012

DHCP server feature ใน Cisco router

DHCP server feature ใน Cisco router
ใน Cisco IOS version ตั้งแต่ 12.0 เป็นต้นมา Cisco ได้เพิ่ม feature หลายๆอย่างเพื่อรองรับรูปแบบ office ที่เป็นขนาดเล็ก ที่ Cisco เรียกว่า SOHO (Small Office Home Office) สำหรับตอนนี้ผมจะเขียนถึง feature นึงที่ค่อนข้อางเป็นหัวใจของการสื่อสานในระบบ network นั่นก็คือ DHCP (Dynamic Host Control Protocol) ซึ่งโดยปกติ features นี้จะพบได้ในรูปแบบที่เป็น server แต่หลายคนอาจจะยังไม่ทราบว่าเราสามารถ configure ให้ router ทำงานเพื่อทดแทน DHCP server ได้
ผมคงเว้นเรื่องรายละเอียดของ DHCP เพราะหลายๆคนน่าจะทราบดีแล้ว หรือถ้าต้องการทราบก็สามารถหาอ่านได้โดยง่ายจาก Internet เรามาเริ่มดูกันที่ configuration เลยดีกว่า
การ Configuring DHCP
Cisco ได้เริ่มเพิ่ม feature เรื่องของ DHCP server อย่างเป็นทางการใน IOS 12.0(1) T และได้เพิ่ม feature ต่างๆเพื่อเพิ่มความสามารถเรื่อยมาในส่วนนี้
เรามาดูหน้าตาของ configuration เพื่อให้ router ทำตัวเป็น DHCP server แบบง่ายๆ กันก่อนนะครับ
!
ip dhcp pool net01
network 10.20.1.0 255.255.255.0
default-router 10.20.1.1
dns-server 10.20.1.2
lease 0 0 3
!
( ผมอนุมานเอาเองนะครับว่า ท่านผู้อ่านคุ้นเคยกับการอ่าน configuration ในรุปแบบของ Cisco ดีแล้ว)
แค่นี้เองครับ router ก็จะทำตัวเสมือนกับ DHCP server คือสามาถรับ request จาก PC หรือ DHCP client อื่นๆ และแจก IP address กลับไปได้
มาพิจารณาสิ่งที่ต้องทำอย่างแรก คือการกำหนด pool ของ ip address โดยจากตัวอย่างเราสร้าง pool ขึ้นมาใช้ชื่อว่า net01 และคำสั่งที่ใช้คือ ip dhcp pool หลังจากนั้น ก็ใช้คำสั่งตามตัวอย่างเพื่อกำหนดค่าอื่นๆ โดยในตัวอย่างนี้ เรากำหนดให้ router สามารถจ่าย IP address ตั้งแต่ 10.20.1.1 จนถึง 10.20.1.254 (ด้วยคำสั่ง network 10.20.1.0 255.255.255.0 ) และกำหนดให้ใช้ 10.20.1.1 เป็น ip address ของ default gateway ( default-router 10.20.1.1 ) และ 10.20.1.2 เป็น ip address ของ DNS server
นอกจากนี้เรายังใช้คำสั่ง lease เพื่อกำหนดระยะเวลา lease time ของ IP address โดย parameters ที่ใช้ จะเป็น วัน ชั่วโมง นาที เพราะฉะนั้นคำสั่งที่เราใช้ lease 0 0 3 คือกำหนดให้ IP address มีอายุแค่ 3 นาที
ในกรณีที่เราต้องการยกเว้น ip address บางตัวเพราะจะไปซ้ำกับ IP address ที่มีอยู่แล้วใน network เช่น IP address ของ server และ แน่นอน IP address ของ Ethernet interface บน router เราจะใช้คำสั่ง ip dhcp excluded-address
!
ip dhcp excluded-address 10.20.1.1
!
มาดู config เต็มๆนะครับ
!
ip dhcp excluded-address 10.20.1.1
!
ip dhcp pool net01
network 10.20.1.0 255.255.255.0
default-router 10.20.1.1
dns-server 10.20.1.2
lease 0 0 3
!
interface fa0/0
ip address 10.20.1.1 255.255.255.0
!
ทบทวนนะครับ ในตัวอย่างนี้เรายกเว้น 10.20.1.1 ออกจาก range ของ ip address ที่เราจะกำหนด ต่อมาเราให้ชื่อของ range ของ ip address ว่าชื่อ net01 โดยกำหนด range ของ ip address ที่จะให้ router ทำการแจกคือตั้งแต่ 10.20.1.1 จนถึง 10.20.1.254 และมีข้อมูลของ default gateway และ DNS server รวมไปด้วยโดย IP address ที่แจกให้จะอายุ 3 นาที
เพิ่มเติมนิดนึงนะครับ Cisco router จะพิจารณา DHCP request ที่ได้รับว่าเข้ามาทาง interface ไหน (หรือที่เรียกว่า inbound interface) แล้วก็จะดูว่า inbound interface นั้นมี subnet อะไรเพื่อที่จะเลือกใช้ pool ของ IP ได้ถูกต้อง เช่น ถ้ามี Ethernet interface จำนวน 2 interfaces และเราต้องการ config ให้แจก IP address ทั้ง 2 interfaces สิ่งที่เราต้อง config ก็คือการ config pool ขึ้นมา 2 pools เท่านั้นเองครับ ดูตัวอย่าง
!
ip dhcp excluded-address 10.20.1.1
ip dhcp excluded-address 10.20.1.2
ip dhcp excluded-address 20.20.2.1
!
ip dhcp pool net10
network 10.20.1.0 255.255.255.0
default-router 10.20.1.1
dns-server 10.20.1.2
lease 0 0 3
!
ip dhcp pool net20
network 20.20.2.0 255.255.255.0
default-router 20.20.2.1
dns-server 9.1.1.1
!
interface fa0/0
ip address 10.20.1.1 255.255.255.0
!
interface fa0/1
ip address 20.20.2.1 255.255.255.0
!
เอาละครับคงพอสำหรับ DHCP คราวหน้าผมจะเขียนถึงอีก feature นึงที่เรียกว่า DNS Spoofing ใน Cisco router ซึ่งเป็น feature ที่ config ไม่ยากและน่าสนใจทีเดียว

0 comments:

Post a Comment