提供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 <NETWORK> netmask <子网掩码> {...}
指定子网IP和子网掩码;
{...}为指定dhcp分配的IP地址池,格式为range IP_first IP_end
host <主机名> {...} 指定MAC地址和IP地址的绑定
{...}中的内容:
hardware ethernet <MAC地址>
fixed-address <IP地址>
系统为我们提供了填写dhcp.conf文件内容的语法格式和功能的模板文件,如上图所示,我们打开模板文件,为我们提供了各种功能的配置模板。该模板文件为
dhcpd.conf.example
/var/lib/dhcpd/dhcpd.leases(服务端)
该文件记录了dhcp服务端与每个客户端的租约时间、客户端主机名等信息。
/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的干扰,需要把其关闭
② 网卡配置
CentOS6为服务端,因此需要设置获取IP方式为静态获取(没法和别人获取IP嘛),然后ifup eth2,激活eth2设置如下:
CentOS7和CentOS6-mini设置获取IP为动态获取;
③ 安装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
⑤ 激活客户端CentOS7的网卡ens34/CentOS6-mini的网卡eth1
[root@CentOS7 ~]# ifup ens34 # 因为绑定IP的缘故,激活网卡会比较快 [root@mini6 ~]# ifup eth1 # 因为有分配IP的过程,因此会明显的慢 Determining IP information for eth1... done.