DHCP
**作用:**用于内部网或网络服务供应商自动分配IP地址;给用户用于内部网管理员作为对所有计算机作中央管理的手段
- DHCP DISCOVER :客户端开始DHCP过程发送的包,是DHCP协议的开始
- DHCP OFFER :服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP(yiaddr)、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息
- DHCP REQUEST :客户端对于服务器发出的DHCP OFFER所做出的响应。在续约租期的时候同样会使用。
- DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。
- DHCP NAK :DHCP ACK的相反的报文,表示服务器拒绝了客户端的请求。
- DHCP RELEASE :一般出现在客户端关机、下线等状况。这个报文将会使DHCP服务器释放发出此报文的客户端的IP地址
- DHCP INFORM :客户端发出的向服务器请求一些信息的报文
- DHCP DECLINE :当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止
使用该IP地址。
搭建DHCP服务器
1、关闭虚拟机自带的DHCP服务,以免与自己配置的dhcpd服务程序起冲突。
2、安装软件包
yum -y install dhcp
3、修改主配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf [^把模板复制到配置文件]
vi /etc/dhcp/dhcpd.conf
ddns-update-style none; 【设置 DNS 服务不自动进行动态更新】
ignore client-updates; 【忽略客户端更新 DNS 记录】
subnet 192.168.10.0 netmask 255.255.255.0 { 【作用域为 192.168.10.0/24 网段】
range 192.168.10.50 192.168.10.150; 【IP 地址池为 192.168.10.50-150】
option subnet-mask 255.255.255.0; 【定义客户端默认的子网掩码】
option routers 192.168.10.1; 【定义客户端的网关地址】
option domain-name "linuxprobe.com"; 【定义默认的搜索域】
option domain-name-servers 192.168.10.1; 【定义客户端的 DNS 地址】
default-lease-time 21600; 【定义默认租约时间(单位:秒)】
max-lease-time 43200; 【定义最大预约时间(单位:秒)】
}【结束符】
分配的固定的主机分给指定主机
host client {
hardware ethernet 08:00:07:26:c0:a5; [^指定主机的MAC地址]
fixed-address 192.168.0.130; 【根给主机的IP地址 】
}
4、重启服务,并设置开机启动
systemctl restart dhcpd [^重启服务]
systemctl enable dhcpd [^开启自启]
5、关闭防火墙
systemctl stop firewalld
setenforce 0
6、验证结果
客户端
<u>把网卡改为dhcp模式</u> [^修改下面两个参数]
vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp
ONBOOT=yes
systemctl restart network [^重启网卡]
测试制定IP地址
和上面的测试操作一样
DHCP中继代理
DHCP服务器
1、选择网卡(vmnet1)
2、配置静态的IP地址
3、安装dhcp服务
4、修改dhcp配置文件(/dev/dhcp/dhcpd.conf)
5、重启dhcp服务
中继服务器
1、添加一块网卡,选择网卡(vmnet1、vmnet8)
2、配置两块网卡的IP地址
3、安装dhcp服务(不启动)
4、配置路由转发功能
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
dhcrelay 192.168.10.10 //开启dhcp中继功能,(dhcp服务器的IP地址)
客户机测试
1、选择网卡(vmnet8)
2、修改网配置文件(dhcp模式)
3、重启网卡