install dhcp server บน ubuntu 12.04

ที่มา : http://askubuntu.com/questions/140126/how-do-i-configure-a-dhcp-server

  • การลง dhcp server ปกติ ubuntu จะใช้คำสั่ง  sudo apt-get install dhcp3-server   แต่ ubuntu  version 12.04 ทำแบบนี้ไม่ได้ ต้องทำตามข้างล่าง ดังต่อไปนี้
  • เริ่มลุยติดตั้ง dhcp server =>  sudo apt-get install isc-dhcp-server
  • แก้ไข file isc-dhcp-server => sudo vim /etc/default/isc-dhcp-server 
  • ดูบรรทัดสุดท้าย INTERFACES="eth0" ไม่ต้องแก้อะไร แต่ถ้าของท่านเป็น eth เลขอื่น ก็แก้ให้ถูกต้องเช่น eth1 eth2... เสร็จแล้วก็ save.
    #Defaults for dhcp initscript #sourced by /etc/init.d/dhcp #installed at /etc/default/isc-dhcp-server by the maintainer scripts # #This is a POSIX shell fragment # #On what interfaces should the DHCP server (dhcpd) serve DHCP requests? #Separate multiple interfaces with spaces, e.g. “eth0 eth1?. INTERFACES=”eth0"
  • แก้ไข file dhcpd.conf =>  sudo vim /etc/dhcp/dhcpd.conf  แก้ไขให้เหมือนข้างล่างนี้  เสร็จแล้ว save

ddns-update-style none;

option domain-name “psu.ac.th”;

option domain-name-servers 192.168.xx.xx, 192.168.xx.xx;

default-lease-time 600;

max-lease-time 7200;

log-facility local7;

subnet 192.168.xx.0 netmask 255.255.255.0 {

range 192.168.xx.100 192.168.xx.199;

option routers 192.168.xx.1;

}

  •  เสร็จเรียบร้อยแล้ว  retart dhcp server => sudo service isc-dhcp-server restart
  • การติดตั้ง dhcp server เสร็จเรียบร้อยแล้วครับ
——————————————————————————————-

หากยังไม่ได้ติดตั้ง apache + cgi ให้ทำดังนี้

  • sudo apt-get install apache2 apache2-doc libapache2-mod-perl2
  • sudo a2enmod cgi
  • sudo /etc/init.d/apache2 reload

 

ให้ดาวน์โหลดแฟ้ม ftp://ftp.psu.ac.th/pub/omar/reportdhcp.pl-2.1.tar.gz มาจัดการ ทำดังนี้

  • wget ftp://ftp.psu.ac.th/pub/omar/reportdhcp.pl-2.1.tar.gz -P /tmp
  • sudo tar -zxvf /tmp/reportdhcp.pl-2.1.tar.gz -C /usr/lib/cgi-bin
  • sudo chmod +x /usr/lib/cgi-bin/reportdhcp.pl

 

แล้วแก้ไขแฟ้ม /usr/lib/cgi-bin/reportdhcp.pl ดังนี้
sudo vim /usr/lib/cgi-bin/erportdhcp.pl

บรรทัดที่ 31,32,41  ข้อความเดิมว่า

my $dhcpfile = “/var/state/dhcp/dhcpd.leases”;

my $dhcpdconf = “/etc/dhcpd.conf”;

my $sysname = “Harrisonburg DSL”;

 

ให้แก้ไขเป็นว่า

my $dhcpfile = “/var/lib/dhcp/dhcpd.leases”;

my $dhcpdconf = “/etc/dhcp/dhcpd.conf”;

my $sysname = “amnat psu pattani”; (โดย sysname คือชื่อของ DHCP Server ของเราเองเช่น PSU-DHCP for LRC เป็นต้น

 

ทำแค่นี้ แล้วทดสอบผลงานที่เวบตัวอย่างว่า http://localhost/cgi-bin/reportdhcp.pl