DHCP原理与配置
DHCP在linux系统中的相关配置
一、DHCP的介绍
-
DHCP:动态主机配置协议
-
DHCP的典型应用模式如下:在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址):其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与 DHCP 服务器进 行通信,完成自动配置过程。
-
DHCP协议采用 UDP 作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给客户端的68号端口
二、使用DHCP的好处
(1)减少管理员的工作量
(2)避免输入错误的可能
(3)避免IP地址冲突
(4)当更改IP地址段时,不需要重新配置每个用户的IP地址
(5)提高了IP地址的利用率
(6)方便客户端的配置
三、DHCP的分配方式
●自动分配:分配到一个IP地址后永久使用
●手动分配:由 DHCP 服务器管理员专门指定IP地址
●动态分配:使用完后释放该IP,供其它客户机使用
四、DHCP的IP地址自动获取工作原理:
-
第一步:客户端在网络中搜索服务器。
客户端通过广播发送 DHCP Discover 报文寻找服务器端
-
第二步:服务器向客户端响应服务。
服务器端通过广播发送 DHCP offer 报文向客户端提供从IP地址池中一个尚未分配的IP地址 分配给客户端
-
第三步:客户端向服务器发出服务请求。
客户端只接受第一个收到的 DHCP-offer 报文并提取IP地址,然后客户端通过广播发送 DHCP Request 报文告知服务器端本地选择使用该IP地址
-
第四步:服务器向客户端提供服务。
服务器通过广播发送 DHCP Ack 报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息
重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover 报文,而是直接发送包含前一次所分配的IP地址的DHCP Request 报文。
更新租约
当DHCP 服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCP Request报文,要求更新现有的地址租约。
五、在Linux系统上配置DHCP服务器
yum -y install dhcp #首先先下载dhcp
cd /etc/dhcp #进入dhcp目录
ls
vim dhcpd.conf #查看配置文件(是空的)
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ###把配置模板文件拷贝至dhcp目录并覆盖原文件
vim /etc/dhcp/dhcpd.conf #进行dhcp配置
设置全局配置参数
default-lease-time 21600; #默认租约为 6 小时,单位为秒
max-lease-time 43200; #最大租约为 12 小时,单位为秒
option domain-name "benet.com"; #指定默认域名
option domain-name-servers 202.106.0.20,202.106.148.1; #指定DNS服务器地址(第一个是主的地址,第二个是备的地址)
ddns-update-style none; #禁用DNS动态更新
subnet网段声明
subnet 192.168.80.0 netmask 255.255.255.0 #首先声明dhcp服务器网段以及子网掩码
range 192.168.80.10 192.168.80.20; #设置ip地址池
option routers 192.168.80.254; #指定默认网关
host主机声明
systemctl start dhcpd #开启dhcp服务
systemctl stop firewalld #关闭防火墙
sentenforce 0 #关闭防火墙
netstat -naup | grep 67 #查看服务是否启动
tail -f /var/log/messages #如果启动失败,可以通过查看日志文件来排查错误
具体操作
1. systemctl stop firewalld.service
2. setenforce 0
3. mount /dev/sr0 /mnt #挂载后才能安装
4. yum -y install dhcp #首先先下载dhcp
5. cd /etc/dhcp #进入dhcp目录
6.ls
7.vim dhcpd.conf #查看配置文件(是空的)
8.cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ###把配置模板文件拷贝至dhcp目录并覆盖原文件
9.vim /etc/dhcp/dhcpd.conf #进行dhcp配置
default-lease-time 600000;
max-lease-time 720000;
subnet 192.168.92.0 netmask 255.255.255.0 {
range 192.168.92.100 192.168.92.200; ##设置的内网信息
option routers 192.168.92.254;
}
subnet 12.0.0.0 netmask 255.255.255.0 {
range 12.0.0.100 12.0.0.200; ##设置的外网信息
option routers 12.0.0.254;
}
host fantasia {
hardware ethernet 00:0C:29:04:65:20; ##设置的物理地址和固定IP地址
fixed-address 192.168.92.188;
}
10.systemctl status dhcpd #查询DHCP状态
systemctl restart dhcpd #重启DHCPD
11.去centos 7-2 中去把ens32网卡设置从静态获取IP地址 改成 dhcp动态获取IP地址
重启网卡然后去查看有没有动态获取我们设置的地址范围中的IP地址
12.到window 1,在命令提示符中输入ipconfig 查看IP地址是否是我们设置的优选地址
13.到window 2,在命令提示符中输入ipconfig 查看IP地址是否是我们设置的优选地址
-
准备四台虚拟机,两台Linux,两台windows。
-
选取其中一台为DHCP服务器,另外三台为DHCP客户端(CentOS7-1为DHCP服务器),先在服务器虚拟机上安装好dhcp
- 在服务机7-1中设置
- 设置内外网信息
- 从window1中查询到物理地址输入到dhcpd.conf文件中去:
- systemctl status dhcpd #查询DHCP状态
systemctl restart dhcpd #重启DHCPD
- 然后去centos 7-2 中去把ens32网卡设置从静态获取IP地址 改成 dhcp动态获取IP地
- 成功
先打开命令提示符软件,输入ipconfig查看当前网卡配置。
发现是没有IP地址的,输入ipconfig /renew获取新的IP地址,完成后发现IP地址与设置的boss机地址和地址池中的外网地址一样则成功!!!
若已有IP地址,先ipconfig /release释放已经获取的地址后,再输入ipconfig /renew获取新的IP地址即可
- 到window 1,在命令提示符中输入ipconfig 查看IP地址是否是我们设置的优选地址,成功!
- 到window 2,在命令提示符中输入ipconfig 查看IP地址是否是我们设置的优选地址,成功!