ติดตั้ง dhcpd บน ubuntu

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 16-02-2554

ดูแลโดย WIPAT


  • ทดสอบกับ ubuntu 10.04, 8.0.4
  • ตัวอย่างข้อกำหนดของระบบ dhcp server
    ติดตั้งบน server หมายเลข IP คือ 10.0.0.5
    ใช้งานบน network หมายเลข 10.0.0.0 mask 255.255.255.0
    ปล่อยหมายเลข IP ตั้งแต่ 10.0.0.20 ถึง 10.0.0.50
    default gateway คือ 10.0.0.1

  1. ติดตั้งด้วยคำสั่ง sudo apt-get install dhcp3-server

  2. การตั้งค่าต่างๆ ให้จัดการที่แฟ้ม config file ชื่อ dhcpd.conf อยู่ที่ /etc/dhcp3/dhcpd.conf

    สั่งให้ dhcpd ทำงานด้วยคำสั่ง sudo /etc/init.d/dhcp3-server start

  3. ต้องแก้ไขค่า subnet ให้ถูกต้องดังตัวอย่างคือ

    *** ค่า domain-name-servers ตั้งให้เป็น ip ที่ถูกต้อง
    subnet 10.0.0.0 netmask 255.255.255.0 {
      range 10.0.0.20 10.0.0.50;
      option domain-name-servers a.b.c.d;
    ### เปลี่ยนค่า a.b.c.d เป็นเลข ip ของ DNS server
      option routers 10.0.0.1;
    }

    สั่งให้ dhcpd ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/dhcp3-server force-reload

  4. การกำหนดให้ dhcpd  ปล่อยเลข ip แบบ dynamic ให้ปรับปรุงแก้ไขแฟ้ม dhcpd.conf เป็นประมาณดังตัวอย่าง
    subnet 10.0.0.0 netmask 255.255.255.0 {
      range 10.0.0.20 10.0.0.50;
    }

  5. การกำหนดให้ dhcpd  ปล่อยเลข ip แบบ fix หมายเลข ip เข้ากับ MAC ของ lan card  ให้ปรับปรุงแก้ไขแฟ้ม dhcpd.conf เป็นประมาณดังตัวอย่าง
    host ip1684-26 {
      hardware ethernet 00:01:03:18:BB:4E;
      fixed-address 192.168.4.26;
     ### อนุญาติให้เฉพาะ lan card ที่ได้ fix หมายเลข ip เข้าใช้งานเท่านั้น 
      deny unknown-clients;
    }

  6. การจัดทำแบบให้บางส่วนต้อง fix และบางส่วนเป็น dynamic  ให้ปรับปรุงแก้ไขแฟ้ม dhcpd.conf เป็นประมาณดังตัวอย่าง
    host ncd2 { hardware ethernet 0:c0:c3:88:2d:81; }
    host ncd3 { hardware ethernet 0:c0:c3:00:14:11; }
    subnet 10.0.0.0 netmask 255.255.255.0 {
       option routers 10.0.0.254;
    # Unknown clients get this pool.
       pool {
         option domain-name-servers bogus.example.com;
         max-lease-time 300;
         range 10.0.0.200 10.0.0.253;
         allow unknown-clients;
       }
    # Known clients get this pool.
       pool {
          option domain-name-servers ns1.example.com,ns2.example.com;
          max-lease-time 28800;
          range 10.0.0.5 10.0.0.199;
          deny unknown-clients;
       }
    }

  7. การสั่งยกเลิกไม่ให้ dhcpd ทำงานอัตโนมัติทุกครั้งที่บูทเครื่อง ใช้คำสั่งว่า sudo update-rc.d -f dhcp3-server remove
    หากต้องการให้ dhcpd กลับมาทำงานอัตโนมัติทุกครั้งที่บูทเครื่อง ใช้คำสั่งว่า sudo update-rc.d  dhcp3-server defaults

  8. ข้อมูลการบริหาร ip เก็บอยู่ที่แฟ้ม /var/lib/dhcp3/dhcpd.leases
    หากต้องการดูข้อมูลการบริหาร ip ผ่านเวบ แนะนำให้ติดตั้งโปรแกรม reportdhcp