Announcement

Collapse
No announcement yet.

DHCP is Dynamic host configuration protocol

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • DHCP is Dynamic host configuration protocol

    The Dynamic Host Configuration Protocol (DHCP) is a network configuration protocol for hosts on Internet Protocol (IP) networks. Computers that are connected to IP networks must be configured before they can communicate with other hosts. The most essential information needed is an IP address, and a default route and routing prefix. DHCP eliminates the manual task by a network administrator. It also provides a central database of devices that are connected to the network and eliminates duplicate resource assignments.
    In addition to IP addresses, DHCP also provides other configuration information, particularly the IP addresses of local Domain Name Server (DNS), network boot servers, or other service hosts. Let's see how to install and configure dhcp server in a centos 5 or redhat el5 system.

    Here we will set the dhcp server for the network 192.168.137.0/24

    Network 192.168.137.0/24

    Client's ip range 192.168.137.150 - 192.168.137.250
    Gateway 192.168.137.1
    Bcast 192.168.137.255
    DNS servers 8.8.8.8 and 8.8.4.4

    The package name is dhcp. We will install usign yum.
    Code:
    [root@server ~]# yum install dhcp
    [root@server ~]# rpm -q dhcp
    dhcp-3.0.5-13.el5
    [root@server ~]#
    /etc/dhcpd.conf - is the main configuration file

    /var/lib/dhcpd - Lease directory
    /var/lib/dhcpd/dhcpd.leases - IPV4 Leases

    The default dhcp configuration file will be a reference to the sample file.
    Code:
    [root@server ~]# cat /etc/dhcpd.conf
    #
    # DHCP Server Configuration file.
    # see /usr/share/doc/dhcp*/dhcpd.conf.sample
    #[root@server ~]#

    We will copy the sample file and edit it.
    Code:
    root@server ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
    root@server ~]# cat  /etc/dhcpd.conf
    ddns-update-style interim;
    ignore client-updates;
    subnet 192.168.137.0 netmask 255.255.255.0 {
            option routers                  192.168.137.1;
            option subnet-mask              255.255.255.0;
            option domain-name              "lap.work";
            option domain-name-servers      8.8.8.8, 8.8.4.4;
            range dynamic-bootp 192.168.137.150 192.168.137.250;
            default-lease-time 21600;
            max-lease-time 43200;
    }
    [root@server ~]#
    Check the service and start it.
    Code:
    [root@server ~]# /etc/init.d/dhcpd status
    dhcpd is stopped
    [root@server ~]# /etc/init.d/dhcpd start
    Starting dhcpd:                                            [  OK  ]
    [root@server ~]# chkconfig dhcpd on
    Now from the client machine we can set the network settings on the eth0 device to dhcp and restart the network.

    DHCP works in DORA format

    Client sends DHCPDISCOVER (D)
    Server sends DHCPOFFER (O)
    Client sends DHCPREQUEST (R)
    Server sends DHCPACK (A)

    Now on taling the /var/log/messages on dhcp server we can see that all this happens while we restart the network on client
    Code:
    [root@server ~]# tail -f /var/log/messages
    Feb 27 22:50:09 server dhcpd: DHCPDISCOVER from 00:0c:29:8d:16:93 via eth0
    Feb 27 22:50:10 server dhcpd: DHCPOFFER on 192.168.137.250 to 00:0c:29:8d:16:93 via eth0
    Feb 27 22:50:10 server dhcpd: DHCPREQUEST for 192.168.137.250 (192.168.137.100) from 00:0c:29:8d:16:93 via eth0
    Feb 27 22:50:10 server dhcpd: DHCPACK on 192.168.137.250 to 00:0c:29:8d:16:93 via eth0

    The lease file at the server side is stored at
    [root@server ~]# cat /var/lib/dhcpd/dhcpd.leases
    # All times in this file are in UTC (GMT), not your local timezone. This is
    # not a bug, so please don't ask about it. There is no portable way to
    # store leases in the local timezone, so please don't request this as a
    # feature. If this is inconvenient or confusing to you, we sincerely
    # apologize. Seriously, though - don't ask.
    # The format of this file is documented in the dhcpd.leases(5) manual page.
    # This lease file was written by isc-dhcp-V3.0.5-RedHat

    lease 192.168.137.250 {
    starts 1 2012/02/27 17:04:49;
    ends 1 2012/02/27 23:04:49;
    binding state active;
    next binding state free;
    hardware ethernet 00:0c:29:8d:16:93;
    }
    [root@server ~]#

    If you want you can make a separate log file for dhcp
    add this line
    log-facility local8;

    so makes the dhcpd.conf
    Code:
    root@server ~]# cat  /etc/dhcpd.conf
    ddns-update-style interim;
    ignore client-updates;
    subnet 192.168.137.0 netmask 255.255.255.0 {
            option routers                  192.168.137.1;
            option subnet-mask              255.255.255.0;
            option domain-name              "lap.work";
            option domain-name-servers      8.8.8.8, 8.8.4.4;
            range dynamic-bootp 192.168.137.150 192.168.137.250;
            default-lease-time 21600;
            max-lease-time 43200;
    log-facility local8;
    }
    [root@server ~]#
    Restart the dhcpd service
    touch the file /var/log/dhcpd.log
    and in /etc/syslog.conf
    add the line
    local8.*       /var/log/dhcpd.log
    and restart syslog servce
    In client machine. It gets the ip 192.168.137.250 which is in the range we specified.
    Code:
    [root@server ~]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:8D:16:93
              inet addr:192.168.137.250  Bcast:192.168.137.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe8d:1693/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:361 errors:0 dropped:0 overruns:0 frame:0
              TX packets:544 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:39256 (38.3 KiB)  TX bytes:130376 (127.3 KiB)
              Interrupt:75 Base address:0x2000
    And also the nameserver details
    Code:
    [root@server ~]# cat /etc/resolv.conf
    ; generated by /sbin/dhclient-script
    search lap.work
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    [root@server ~]#
    
    The lease file at the client is
    [root@server ~]# cat /var/lib/dhclient/dhclient-eth0.leases
    lease {
      interface "eth0";
      fixed-address 192.168.137.250;
      option subnet-mask 255.255.255.0;
      option routers 192.168.137.1;
      option dhcp-lease-time 21600;
      option dhcp-message-type 5;
      option domain-name-servers 8.8.8.8,8.8.4.4;
      option dhcp-server-identifier 192.168.137.100;
      option domain-name "lap.work";
      renew 1 2012/2/27 19:37:49;
      rebind 1 2012/2/27 22:34:52;
      expire 1 2012/2/27 23:19:52;
    }
    [root@server ~]#
    Last edited by kuldeep; 02-21-2015, 02:28 AM.
Working...
X