DHCP

安装

yum install -y dhcp

配置文件

默认配置为/etc/dhcpd.conf

[[email protected] ~]# 
[[email protected] ~]# rpm -ql dhcp | grep conf.sample
/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample
[[email protected] ~]#

使用此示例配置文件覆盖/etc/dhcpd.conf

根据具体情况配置此文件

[[email protected] ~]# cat /etc/dhcpd.conf 
ddns-update-style interim;
ignore client-updates;

subnet 100.1.1.0 netmask 255.255.255.0 {

# --- default gateway
	option routers			100.1.1.1;
	option subnet-mask		255.255.255.0;

	option nis-domain		"domain.org";
	option domain-name		"domain.org";
	option domain-name-servers	114.114.114.114;

	option time-offset		-18000;	# Eastern Standard Time
#	option ntp-servers		192.168.1.1;
#	option netbios-name-servers	192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don‘t change this unless
# -- you understand Netbios very well
#	option netbios-node-type 2;

	range dynamic-bootp 100.1.1.128 100.1.1.254;
	default-lease-time 21600;
	max-lease-time 43200;

	# we want the nameserver to appear at a fixed address
	host ns {
		next-server marvin.redhat.com;
		hardware ethernet 12:34:56:78:AB:CD;
		fixed-address 207.175.42.254;
	}
}

关于配置文件内容跟参数选项意义参考一下:

/etc/dhcpd.conf通常包括三部分:parameters、declarations 、option。

  1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。主要内容见表1

2. DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等。主要内容见表2:

3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:

注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机名称。

启动服务

service dhcpd start

或者

dhcpd -p 67 -cf /etc/dhcpd.conf

查看端口是否监听

netstat -an | grep 67

启动脚本,可以查看很多相关记录文件信息

#!/bin/sh
#
### BEGIN INIT INFO
# Provides: dhcpd
# Default-Start:
# Default-Stop:
# Should-Start:
# Required-Start: $network
# Required-Stop:
# Short-Description: Start and stop the DHCP server
# Description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP)
#              server.
### END INIT INFO
#
# The fields below are left around for legacy tools (will remove later).
#
# chkconfig: - 65 35
# description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP) #              server
# processname: dhcpd
# config: /etc/dhcpd.conf
# config: /var/lib/dhcpd/dhcpd.leases
# pidfile: /var/run/dhcpd.pid

. /etc/rc.d/init.d/functions

RETVAL=0

prog=dhcpd
exec=/usr/sbin/dhcpd
lockfile=/var/lock/subsys/dhcpd
pidfile=/var/run/dhcpd.pid
statedir=/var/lib/dhcpd

[ -f /etc/sysconfig/dhcpd ] && . /etc/sysconfig/dhcpd

# if the user specified a different config file, make sure we reference it
findConfig() {
    for arg in $DHCPDARGS ; do
        if [ "$found" = 1 ]; then
            [ -f "$arg" ] && echo "$arg"
            return
        fi
        if [ "$arg" = "-cf" ]; then
            found=1
            continue
        fi
    done
    echo "/etc/dhcpd.conf"
}

config="$(findConfig "$DHCPDARGS")"

if [ ! -f $statedir/dhcpd.leases ] ; then
    mkdir -p $statedir
    touch $statedir/dhcpd.leases
    [ -x /sbin/restorecon ] && [ -d /selinux ] && /sbin/restorecon $statedir/dhcpd.leases >/dev/null 2>&1
fi

configtest() {
    [ -x $exec ] || return 5
    [ -f $config ] || return 6
    $exec -q -t -cf $config
    RETVAL=$?
    if [ $RETVAL -eq 1 ]; then
        $exec -t -cf $config
    else
        echo "Syntax: OK" >&2
    fi
    return $RETVAL
}

rh_status() {
    status -p $pidfile $exec
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

start() {
    [ `id -u` -eq 0 ] || return 4
    [ -x $exec ] || return 5
    [ -f $config ] || return 6

    rh_status_q && return 0

    echo -n $"Starting $prog: "
    daemon --pidfile=$pidfile $exec $DHCPDARGS 2>/dev/null
    RETVAL=$?

    echo
    [ $RETVAL -eq 0 ] && touch $lockfile
    return $RETVAL
}

stop() {
    [ `id -u` -eq 0 ] || return 4

    rh_status_q || return 0

    echo -n $"Shutting down $prog: "
    killproc -p $pidfile $prog
    RETVAL=$?

    echo
    [ $RETVAL -eq 0 ] && rm -f $lockfile
    return $RETVAL
}

usage() {
    echo $"Usage: $0 {start|stop|restart|force-reload|condrestart|try-restart|configtest|status}"
}

if [ $# -gt 1 ]; then
    exit 2
fi

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart|force-reload)
        stop ; start
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        stop ; start
        ;;
    reload)
        usage
        # unimplemented feature
        exit 3
        ;;
    configtest)
        configtest
        ;;
    status)
        rh_status
        ;;
    *)
        usage
        exit 2
        ;;
esac

exit $?

服务端查看已分配的IP地址

客户端的重新获取都会得到记录

[[email protected] ~]# 
[[email protected] ~]# 
[[email protected] ~]# 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 100.1.1.254 {
  starts 4 2016/05/05 03:41:36;
  ends 4 2016/05/05 09:41:36;
  binding state active;
  next binding state free;
  hardware ethernet 00:0c:29:30:b2:b3;
}
lease 100.1.1.254 {
  starts 4 2016/05/05 04:12:03;
  ends 4 2016/05/05 10:12:03;
  binding state active;
  next binding state free;
  hardware ethernet 00:0c:29:30:b2:b3;
}

客户端查看相关信息

客户端上获取到IP地址后,dhclient 可以查看下相关信息,比如dhcp server等

[[email protected] ~]# 
[[email protected] ~]# pkill dhclient
[[email protected] ~]# dhclient
Internet Systems Consortium DHCP Client V3.0.5-RedHat
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth0/00:0c:29:30:b2:b3
Sending on   LPF/eth0/00:0c:29:30:b2:b3
Sending on   Socket/fallback
DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x6656d649)
DHCPACK from 100.1.1.100 (xid=0x6656d649)
bound to 100.1.1.254 -- renewal in 8131 seconds.
[[email protected] ~]# 
[[email protected] ~]#

如果想查看更详细的信息,例如租期等等,可查看相关文件

[[email protected] ~]# ls /var/lib/dhclient/
dhclient-eth0.leases  dhclient.leases
[[email protected] ~]# 
[[email protected] ~]# cat /var/lib/dhclient/dhclient.leases 
lease {
  interface "eth0";
  fixed-address 100.1.1.254;
  option subnet-mask 255.255.255.0;
  option time-offset -18000;
  option dhcp-lease-time 21600;
  option routers 100.1.1.1;
  option dhcp-message-type 5;
  option dhcp-server-identifier 100.1.1.100;
  option domain-name-servers 114.114.114.114;
  option nis-domain "domain.org";
  option domain-name "domain.org";
  renew 4 2016/5/5 20:28:53;
  rebind 4 2016/5/5 23:11:17;
  expire 4 2016/5/5 23:56:17;
}
lease {
  interface "eth0";
  fixed-address 100.1.1.254;
  option subnet-mask 255.255.255.0;
  option time-offset -18000;
  option routers 100.1.1.1;
  option dhcp-lease-time 21600;
  option dhcp-message-type 5;
  option domain-name-servers 114.114.114.114;
  option dhcp-server-identifier 100.1.1.100;
  option nis-domain "domain.org";
  option domain-name "domain.org";
  renew 4 2016/5/5 20:12:29;
  rebind 4 2016/5/5 23:11:58;
  expire 4 2016/5/5 23:56:58;
}
时间: 2024-10-11 13:37:32

DHCP的相关文章

自动化安装之DHCP基本原理和配置

DHCP:(Dynamic Host Configuration Protocol) C/S架构 原理: 当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务.当然高级的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息.安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功能的客户机称为DHCP客户端,DHCP服务器是以地址租约的方式为DH

Linux DHCP通过OPTION43为H3C的AP下发AC地址

对于DHCP服务,可以在很多平台上进行设置.那么这里我们就主要讲解一下在Linux DHCP服务器上通过option 43实现H3C的AP自动联系AC注册的相关内容.原来的DHCP Server是放在交换机上的,但因为近期准备改动一下网络拓扑,所以要把DHCP Server迁移,操作系统用的是RHEL5.3,DHCP版本3.05 打H3C的800电话,二线工程师说没有在Linux下的DHCP配过,要我去看文档,文档里有交换机做dhcp server和windows做dhcp server的配置实

交换安全三宝(DHCP Snooping+IPSG+DAI)简单实验

1 实验拓扑图 2 DHCP Snooping 2.1 基本DHCP Snooping配置: C2960#show running-config Building configuration... ! ipdhcp snooping vlan 10 ipdhcp snooping ! interface FastEthernet0/1 description ---Connected to DHCP_Server --- switchportaccess vlan 10 switchport m

dhcp的基本配置命令

假定两台思科路由器R1(服务端)和R2(客户端)相连 1.R1 dhcp服务的配置 dhcp#configure  terminal dhcp(config)#service  dhcp dhcp(config)#noip dhcp conflictlogging dhcp(config)#ipdhcp pool cisco dhcp(dhcp-config)#network 192.168.1.0 255.255.255.0  //dhcp服务器要分配的 dhcp(dhcp-config)#d

DHCP服务器问题

今天切换DHCP服务器遇到一些奇怪的问题,特记录下. DHCP一定要设固定IP,否则服务可以启用,但是客户端无法获得IP,log可以在这查看: C:\Windows\System32\dhcp DhcpSrvLog-Fri [8/21/2015 4:50 PM] : 64,08/21/15,08:30:54,Nostatic IP address bound to DHCP server,,,,,0,6,,, 除了DHCP服务器外,用户交换机上有个ip helper-address也需要更改为新

DHCP服务器

1.DHCP原理 (1)客户端请求IP租约 DHCP Client 使用UDP 67端口广播DHCP Discover包,数据包源IP为0.0.0.0,目的IP为255.255.255.255 还包含客户端的MAC地址和计算机名,以便DHCP服务器可以确定是哪个客户端发出的请求 (2)服务器响应 服务器收到客户端请求,从地址池中查找一个可用IP,并使用UDP 68端口广播DHCP Offer包,数据包源IP为DHCP服务器 IP,目的IP为255.255.255.255,还包含DHCP客户端的M

dhcp 服务

DHCP,全称是Dynamic Host Configuration Protocol,动态主机配置协议,工作在OSI的应用层,作用主要是帮助计算机从指定的DHCP服务器获取配置信息的协议.Dhcp采用client/server模式,客户端(端口号是68)请求,服务端(端口号是67)响应. 广播: 工作原理: DHCP客户端寻找服务器 客户端向网络上广播dhcpdiscover包(内包含客户机的mac地址)寻找DHCP服务器,即向广播地址255.255.255.255发送特定的广播信息.网络上每

华为链路捆绑,Hybrid-VLAN,DHCP,浮动路由,三层交换

综合试验 实验构思图:                              实验要求: 一. VLAN10成员可以和vlan20,30,40的成员通讯,其它vlan则不能互相通讯: 二. 让所以PC都能访问外网AR2: 三. 让PC4能够通过DHCP技术获得IP: 四. AR1和LSW3之间做一个备份链路捆绑: 五. 使用Hybrid-VLAN方法划分VLAN; 六. 让所有PC访问外网时通过13.0网段走,而12.0做为备份链路. 实验步骤: 1.俺图上要求给PC1,2,3配置上相应的I

架建一台LINUX的DHCP服务器

要求,1.DHCP的IP192.168.1.252 2.分配192.168.1.10-200的IP地址, 3.A主机,固定IP A    00:0C:29:A8:43:F0             192.168.1.100 步骤: 一.安装DHCP服务 rpm -ivh dhcp-3(tab) 二.配置文件 1.配置本机IP地址 vim /etc/sysconfig/network-scripts/ifcfg-eth0   永久配置 DEVICE=eth0 BOOTPROTO=static I

Linux DHCP (1)基本概念

DHCP的基本概念  DHCP即动态主机设置通信协议(Dynamic  Host Configuration Protocol),它是定义在RFC2131和2132的Internet标准可以动态地设置客户端IP状态. DHCP的端口号 udp 67  server   服务端 udp 68  client   客户端 DHCP的相关配置文件 /etc/dhcpd.conf                             #主配置文件 /usr/share/doc/ #文档资料 /var/