共计 2500 个字符,预计需要花费 7 分钟才能阅读完成。
提供 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 ~]# 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@mini6 ~]# ifup eth1 # 因为有分配 IP 的过程,因此会明显的慢
Determining IP information for eth1… done.
CentOS 6.5 下 DHCP 服务器搭建与配置 https://www.linuxidc.com/Linux/2014-10/108220.htm
CentOS 搭建 NAT 和 DHCP 服务,实现共享上网 https://www.linuxidc.com/Linux/2018-07/153294.htm
Ubuntu 16.04 安装搭建 DHCP 服务详解 https://www.linuxidc.com/Linux/2018-06/152742.htm
: