目录标题
了解DHCP服务
- DHCP 动态主机配置协议
- 专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
- 使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
- DHCP分配方式
- 自动分配:分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
工作原理
-
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
第一步:客户端在网络中搜索服务器
客户端通过广播发送DHCP Discover 报文寻找服务器端;
第二步:服务器向客户端响应服务
服务器端通过广播(Linux中广播华为设备为单播)发送DHCP offer 报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端;
第三步:客户端向服务器发出服务请求
如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只接受第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request 报文告知服务器端本地选择使用该IP地址;
第四步:服务器向客户端提供服务
服务器通过单播发送DHCP Ack 报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息; -
重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息 -
更新租约
当DHCP服务器向客户机出租的IP地址租期到达50%时,需要更新租约
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
DHCP动态配置主机地址
- DHCP服务
- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本、提高网络配置效率
- 可分配的地址信息主要包括
- 网卡的IP地址、子网掩码
- 对应的网络地址、广播地址
- 默认网关地址
- DNS服务器地址
配置DHCP服务器
- 通过eNSP和ConteOS7来模拟的
虚拟机设置
- eNSP设置
- 这个时候可以测试一下虚拟机和eNSP是否能通
安装dhcp软件
-
通过 yum install -y dhcp
-
或者挂载光盘镜像通过光盘中的包安装
-
rpm -ivh dhcp-4.2.5-58.el7.centos.x86_64.rpm
配置/etc/dhcp/dhcpd.conf文件
-
安装完毕后在/etc中会有dhcp的文件目录生成
-
vim dhcpd.conf文件配置会显示意思是告诉你模板文件的位置
-
cd /usr/share/doc/dhcp-4.2.5/
-
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
到提示的文件位置复制过来
-
vim dhcpd.conf
-
default-lease-time 21600; #默认租约为6小时,单位为秒
-
max-lease-time 43200; #最大租约为12小时,单位为秒
-
option domain-name “benet.com”; #指定默认域名
-
option domain-name-servers 8.8.8.8; #指定DNS服务器地址
-
ddns-update-style none; #禁用DNS动态更新
-
subnet 192.168.100.0 netmask 255.255.255.0{
range 192.168.100.10 192.168.100.20;
option routers 192.168.100.254;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.120;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.200 192.168.2.220;
option routers 192.168.2.254;
}
- systemctl restart dhcpd #重启服务
编辑/etc/dhcp/dhcpd.conf文件有问题重启服务时报错
vim /var/log/messages查看日志报错内容
- netstat -naup | grep 67 #查看DHCP服务器的67号端口是否开启
配置eNSP
- ipconfig /release #释放ip
- ipconfig /renew #重新获取ip
新增加一台PC机指定其ip地址
-
设置端口就把他划分到vlan10吧
-
host hostname {
hardware ethernet 54:89:98:BE:02:17;
fixed-address 192.168.1.105;
}
#后面内容都可删除
- systemctl restart dhcpd #重启服务
- ipconfig /release #释放ip
- ipconfig /renew #重新获取ip
- systemctl stop firewalld
- setenforce 0 #############可能不成功需要关闭防火墙
Linux客户端使用 DHCP 动态获取IP
- 方法1
- vim /etc/sysconfig/network-scripts/ifcfg-ens33
- BOOTPROTO=dhcp
ifdown ens33 ; ifup ens33 - 方法2
- dhclient -d ens33