การติดตั้ง DHCP Server บน Fedora Core Linux

DHCP มาจาก Dynamics Host Configuration Protocol เป็นกระบวนการจัดสรรคุณสมบัติต่างๆ เพื่อใช้ในการเชื่อมต่อเครือข่าย ให้กับเครื่องภายในเครือข่ายแบบอัตโนมัติ ซึ่งคุณสมบัติต่างๆ นั้นมีทั้งหมายเลขไอพี (IP address) , เกตเวย์ (Gateway) , DNS เซิร์ฟเวอร์ และอื่นๆ


ขั้นตอนการติดตั้ง DHCP Server

ขั้นตอนที่ 1
    ใส่แผ่น CD/DVD ของ Fedora Core Linux แล้วทำการเมาท์ แล้วไปยังพาธที่เก็บไฟล์สำหรับติดตั้งซอฟต์แวร์ ดังนี้

# mount    /dev/cdrom     /mnt/cdrom
# cd /mnt/cdrom/Fedora/RPMS/

ขั้นตอนที่ 2
    ทำการติดตั้งโดยใช้คำสั่ง rpm ซึ่งซอฟต์แวร์สำหรับติดตั้ง DHCP เซิร์ฟเวอร์ในแผ่น Fedora Core  มีชื่อไฟล์เป็น  dhcp-xxx-yy.zzz.i386.rpm มีวิธีการดังนี้

 

[root@netserv RPMS]# rpm   -ihv   dhcp-xxx-yy.zzz.i386.rpm
warning: dhcp-xxx-yy.zzz.i386.rpm: Header V3 DSA signature:
NOKEY, key ID zzz
Preparing... ######################### [100%]
   1:dhcp    ######################### [100%]
[root@netserv RPMS]#

ขั้นตอนการปรับแต่ง DHCP Server
    โดยปกติแล้วคอนฟิกกูเรชั่นไฟล์หลักๆ ที่ใช้ในการปรับแต่ง DHCP Server จะอยู่ที่ /etc/dhcpd.conf เราสามารถคัดลอกไฟล์ตัวอย่างของ dhcpd.conf ไปไว้ที่ /etc ได้ ซึ่งไฟล์ตัวอย่างนี้จะอยู่ที่ /usr/share/doc/dhcp-<version>/dhcpd.conf.sample เราสามารถคัดลอกได้ ดังนี้
 

# cp   /usr/share/doc/dhcp-xxx/dhcpd.conf.sample   /etc/dhcpd.conf

cp: overwrite `/etc/dhcpd.conf'? Y      

    ก่อนการปรับแต่ง DHCP Server ให้ทำการตรวจสอบก่อนว่า เราจะแจกจ่ายหมายเลขไอพีสำหรับเครือข่ายกลุ่มไหน มีซับเน็ตเป็นอย่างไร เครื่องไหนเป็นโดเมนเนมเซิร์ฟเวอร์ (DNS Server) ซึ่งในการปรับแต่ง สามารถทำได้ดังนี้

ขั้นตอนที่ 1
    ทำการแก้ไขค่าของ subnet ให้เป็นเครือข่ายวงที่เราจะแจกจ่ายไป ซึ่งมีค่า subnet เป็น 192.168.2.0 และใช้ netmask เป็น 255.255.255.0 ดังนี้
 

จาก
subnet 192.168.0.0 netmask 255.255.255.0 {

เป็น
subnet 192.168.2.0 netmask 255.255.255.0 {     

ขั้นตอนที่ 2
    ทำการตั้งค่าของ default gateway ที่จะแจกไปให้กับเครื่องในเครือข่าย ซึ่งในที่นี้จะใช้คำว่า routersโดยแก้ไขให้เป็นหมายเลขไอพีของการ์ดแลนใบที่เป็นเครือข่ายภายใน ในที่นี้คือ eth1 ซึ่งมีหมายเลขไอพีเป็น 192.168.2.1 โดยแก้ไข ดังนี้
 

จาก
option routers                  192.168.0.1;

 

เป็น
option routers                  192.168.2.1;     

ขั้นตอนที่ 3
    ค่าของ subnet-mask ที่จะแจกจ่ายไปให้กับเครื่องลูกข่ายใช้งานในที่นี้ใช้ค่ามาตรฐาน ดังนี้
 

option subnet-mask              255.255.255.0;     

ขั้นตอนที่ 4
    ปิดการแจกจ่าย nis-domain ผ่านทาง DHCP Server เนื่องจากว่า NIS เป็นเซอร์วิสสำหรับการแชร์ public key ในระบบเครือข่ายที่ใช้ลินุกซ์ด้วยกัน ดังนี้
 

จาก
option nis-domain               "domain.org";

 

เป็น
#option nis-domain               "domain.org"; 

  

ขั้นตอนที่ 5
    ทำการตั้งค่าของโดเมนที่จะแจกจ่ายให้กับเครื่องลูกข่าย ในที่นี้ตั้งเป็น linux-server-1.com ดังนี้
 

จาก
option domain-name              "domain.org";

 

เป็น
option domain-name              "linux-server-1.com";

   

ขั้นตอนที่ 6
    ทำการตั้งค่าของโดเมนเนมเซิร์ฟเวอร์ (Domain Name Server) ในที่นี้ตั้งเป็นหมายเลขไอพีของเครื่องเซิร์ฟเวอร์ที่ตั้งขึ้นมา หรือตั้งเป็นไอพีของโดเมนเนมเซิร์ฟเวอร์อื่นก็ได้เช่นกัน ซึ่งสามารถมีได้หลายตัว คั่นด้วยเครื่องหมายคอมม่า (,) ดังนี้

จาก
option domain-name-servers      192.168.1.1;

 

เป็น
option domain-name-servers      192.168.2.1 , 202.47.249.4;

  

ขั้นตอนที่ 7
    ทำการปรับแต่งช่วงของหมายเลขไอพี ที่จะแจกจ่ายไปยังเครื่องในเครือข่ายภายใน ตัวอย่างเช่น ต้องการแจกจ่ายไปยังเครือข่าย 192.168.2.0 โดยเริ่มต้นตั้งแต่หมายเลข 192.168.2.11 ไปจนถึง 192.168.2.250 ซึ่งหมายเลขไอพีที่เหลือ ที่ไม่ได้แจกจ่ายไป เนื่องจากสำรองไว้สำหรับเครื่องเซิร์ฟเวอร์อื่นๆ ซึ่งสามารถทำได้ดังนี้
 

จาก
range dynamic-bootp 192.168.0.128 192.168.0.254;

 

เป็น
range 192.168.2.11 192.168.2.250;  

 

    การปรับแต่งในไฟล์ /etc/dhcpd.conf เสร็จเรียบร้อย ค่าอื่นๆ ที่ไม่ได้กล่าวถึงให้ใช้ค่ามาตรฐานที่ระบบตั้งมาให้ ซึ่งค่าที่สำคัญมีดังนี้

  • default-lease-time เป็นค่าที่กำหนดระยะเวลาปกติที่เครื่องลูกข่ายจะใช้หมายเลขไอพีเดิมได้ ตราบใดที่ยังร้องขอภายในช่วงเวลานี้ หน่วยเป็นวินาที
  •  max-lease-time เป็นค่าที่กำหนดระยะเวลาสูงสุดที่เครื่องลูกข่ายจะใช้หมายเลขไอพีเดิมได้ ตราบใดที่ยังร้องขอภายในช่วงเวลานี้ หน่วยเป็นวินาที

ตรวจสอบการทำงาน
ขั้นตอนที่ 1

    หลังจากทำการปรับแต่งข้อมูลในไฟล์ /etc/dhcpd.conf เสร็จเรียบร้อยแล้ว ให้ทำการเปิดการใช้งานเซอร์วิส dhcpd , ปิดการใช้งาน และรีสตาร์ทเซอร์วิส ดังนี้
 

[root@netserv ~]# /etc/init.d/dhcpd      start
Starting dhcpd:                                                [  OK  ]
 [root@netserv ~]# /etc/init.d/dhcpd stop
Shutting down dhcpd:                                       [  OK  ]
 [root@netserv ~]# /etc/init.d/dhcpd restart
Shutting down dhcpd:                                       [FAILED]
Starting dhcpd:                                                [  OK  ] 

  
   
ขั้นตอนที่ 2
    จากนั้นให้ตรวจสอบที่เครื่องลูกข่าย ว่าได้รับหมายเลขไอพีหรือไม่

 

 ขั้นตอนที่ 3
    ที่ฝั่งเซิร์ฟเวอร์ สามารถตรวจสอบการใช้หมายเลขไอพีได้จากไฟล์ /var/lib/dhcpd/dhcpd.leases
โดยใช้คำสั่ง cat , less ,  more อ่านข้อมูลในไฟล์ ดังนี้
 

[root@netserv ~]# cat /var/lib/dhcpd/dhcpd.leases
...
lease 192.168.2.249 {
  starts 6 2007/05/19 16:25:29;
  ends 6 2007/05/19 22:25:29;
  binding state active;
  next binding state free;
  hardware ethernet 00:16:d3:96:69:6f;
  uid "\001\000\026\323\226io";
  client-hostname "CP";
}
...    

ขั้นตอนที่ 4
    เมื่อระบบทำงานได้ถูกต้องแล้ว ให้เรากำหนดให้เซอร์วิส dhcpd ทำงานทุกครั้งเมื่อเปิดเครื่องเข้าสู่ระบบ
 

[root@netserv ~]# chkconfig  dhcpd  on