提供DHCP服务的软件

    CentOS中提供DHCP服务的软件叫做dhcp,CentOS中默认没有安装。我们可以通过yum命令安装

        yum -y install dhcp


目录

  • DHCP的配置文件的介绍

    • /etc/dhcp/dhcp.conf

    • dhcpd.conf.sample

    • /var/lib/dhcpd/dhcpd.leases

    • /var/lib/dhclient/*

  • 配置DHCP服务器的案例


一、DHCP的配置文件介绍

    /etc/dhcp/dhcpd.conf

我们可以发现里边内容很少,需要我们自己去配置里边的内容DHCP才可以生效。该配置文件中参数含义:

option domain-name    指定域名

option domain-name-servers     指定DNS的IP  

        上面这两个设定会影响客户端的/etc/resolv.conf

default-lease-time    默认租约时间

max-lease-time        最大租约时间,与默认租约时间的单位同为秒

ddns-update-style     是否开启ddns更新IP和主机名的对应,默认为none

ignore client-updates 固定格式,忽略客户端的DNS更新,和ddns-update-style搭配

option routers        设置路由器的IP

关键参数

subnet netmask <子网掩码> {...}

                      指定子网IP和子网掩码; 

                      {...}为指定dhcp分配的IP地址池,格式为range IP_first IP_end

host <主机名> {...}   指定MAC地址和IP地址的绑定

                      {...}中的内容:

                              hardware ethernet

                              fixed-address

CentOS 架设DHCP服务_第1张图片

系统为我们提供了填写dhcp.conf文件内容的语法格式和功能的模板文件,如上图所示,我们打开模板文件,为我们提供了各种功能的配置模板。该模板文件为

    dhcpd.conf.example

CentOS 架设DHCP服务_第2张图片

    /var/lib/dhcpd/dhcpd.leases(服务端)

该文件记录了dhcp服务端与每个客户端的租约时间、客户端主机名等信息。

CentOS 架设DHCP服务_第3张图片

    /var/lib/dhclient/*(客户端)

该文件记录了客户端的根据dhcpd设置的租约信息

    /etc/sysconfig/dhcpd

该文件用来定义dhcpd监听的网络卡接口,防止服务器多个网卡造成混乱。不过CentOS5之后的版本不需要配置该文件,而是系统自动做出判断


二、配置DHCP服务器的实际案例

现在虚拟机上有三台Linux主机,分别为CentOS6、CentOS7、CentOS6-mini,部署如下:

        CentOS6--dhcp服务器

        CentOS7--客户端,且要求IP和MAC固定

        CentOS6-mini--客户端,获取动态IP

① 准备实验环境

网卡:CentOS6的eth2,CentOS7的ens34,CentOS6-mini的eth1。因为DHCP是局域网内的服务,因此需要把这三个网卡划分到同一个网段VMnet2(192.168.138.0);

特别注意防止物理机的DHCP的干扰,需要把其关闭    

CentOS 架设DHCP服务_第4张图片

② 网卡配置

CentOS6为服务端,因此需要设置获取IP方式为静态获取(没法和别人获取IP嘛),然后ifup eth2,激活eth2设置如下:

CentOS 架设DHCP服务_第5张图片

CentOS7和CentOS6-mini设置获取IP为动态获取;

CentOS 架设DHCP服务_第6张图片

③ 安装dhcp软件,配置服务端CentOS6的DHCP服务,修改/etc/dhcp/dhcpd.conf文件,文件内容:

[root@CentOS6 ~]# yum -y install dhcp
[root@CentOS6 ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
option domain-name "text.com";
option domain-name-servers 172.18.0.1;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.138.0 netmask 255.255.255.0 {
range 192.168.138.100 192.168.138.200;
}
host CentOS7 {
hardware ethernet 00:0c:29:83:97:3b;
fixed-address 192.168.138.150;
}

④ 开启服务端的dhcp服务

[root@CentOS6 ~]# /etc/init.d/dhcpd start
Starting dhcpd:                                            [  OK  ]

排错小技巧,如果dhcpd开启Failed,可以查看/var/log/messages

CentOS 架设DHCP服务_第7张图片

⑤ 激活客户端CentOS7的网卡ens34/CentOS6-mini的网卡eth1

[root@CentOS7 ~]# ifup ens34    # 因为绑定IP的缘故,激活网卡会比较快
[root@mini6 ~]# ifup eth1       # 因为有分配IP的过程,因此会明显的慢

Determining IP information for eth1... done.

CentOS 架设DHCP服务_第8张图片