CentOS7搭建DHCP服务
一. 安装
dhcp
软件包默认是在epel-release
仓库源里的,所以需要安装epel-release
。DHCP是 Dynamic Host Configuration Protocol
(动态主机配置协议)的缩写,关于协议的详细内容请查看 DHCP协议原理。
yum install epel-release
yum install -y dhcp
- 配置文件:
/etc/dhcp/dhcpd.conf
- 配置文件模板:
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
- 租约文件:
/var/lib/dhcpd/dhcpd.leases
二. 配置
- 配置的网段必须和
dhcpd
服务所在网段相同。 - 如果全局配置和
subnet
的配置冲突,那么subnet
配置优先。 dhcpd
服务端使用67端口,客户端使用68端口。- 编辑配置文件
/etc/dhcp/dhcpd.conf
,常用配置文件如下。
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.80.0 netmask 255.255.255.0 {
range 192.168.80.50 192.168.80.150;
option subnet-mask 255.255.255.0;
option routers 192.168.80.2;
option domain-name "yuchaoshui.com";
option domain-name-servers 114.114.114.114, 8.8.8.8;
option broadcast-address 192.168.80.255;
default-lease-time 21600;
max-lease-time 43200;
}
- 查看
MAC
地址方法:启动dhcpd
服务程序,为主机动态分配一个 IP 地址,这时在DHCP 服务器的日志文件(/var/log/messages
)中会保存分配记录,可以从该文件中获取 MAC 地址。 - 编辑配置文件
/etc/dhcp/dhcpd.conf
,MAC
地址绑定配置文件如下。如果需要IP地址和MAC地址绑定,使用如下配置。
host yuziyue {
hardware ethernet 00:0c:29:5e:f9:5f;
fixed-address 192.168.80.80;
option subnet-mask 255.255.255.0;
option routers 192.168.80.2;
option domain-name "yuziyue.com";
option domain-name-servers 114.114.114.114, 8.8.8.8;
}
- 配置项解释说明
default-lease-time 21600 # 默认超时时间。
max-lease-time 43200 # 最大超时时间。
option domain-name-servers 8.8.8.8 # 定义DNS服务器地址,定义多个用逗号分开。
option domain-name "domain.org" # 定义DNS域名,此域名会在客户端的 /etc/resolv.conf 配置文件中出现。
range # 定义用于分配的IP地址池。
option subnet-mask # 定义客户端的子网掩码。
option routers # 定义客户端的网关地址。
broadcast-address # 定义客户端的广播地址。
hardware ethernet # 指定网卡接口的类型与MAC地址。
fixed-address # 将某个固定的IP地址分配给指定主机
server-name # 向DHCP客户端通知DHCP服务器的主机名。
三. 启动
dhcpd
服务启动
systemctl restart dhcpd
systemctl enable dhcpd
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
- 客户端配置:编辑配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33
,修改如下两项,然后重启网络服务(systemctl restart network
)。
BOOTPROTO=dhcp
ONBOOT=yes
四. 验证
- 查看IP是否正确配置
ip addr
- 查看
/etc/resolv.conf
是否正确配置
# /etc/resolv.conf
domain yuchaoshui.com
search yuchaoshui.com yuziyue.com
nameserver 114.114.114
nameserver 8.8.8.8
nameserver
指定域名服务器,且只有当第一个nameserver
没有反应时才查询下面的nameserver
。domain
声明主机的域名。当域名解析找不到结果时,进行域名补全,它只能配置一个。search
声明主机的域名查询顺序。当域名解析找不到结果时,进行域名补全,它可以配置多个。domain
和search
不能共存,如果同时存在,后面出现的将会被使用。
正确的域名解析顺序是
- 查找
/etc/hosts
。 - 根据
nameserver
查找域名。 - 如果在
nameserver
查找不到域名就进行search
或domain
补全,重新走1~2步。