1、概述
DHCP是一个工作在应用层的局域网网络协议,数据传输时使用UDP不可靠传输协议工作,作用是使网络中的主机能动态的获得ip地址、Gateway地址、DNS服务器地址等信息。
其工作原理如下所示:
请求步骤如下:
- 使用0.0.0.0作为源地址,255.255.255.255作为目标地址,使用UDP 67端口号作为目的端口号来广播请求ip地址信息;
- DHCP Server使用自己的IP作为源地址,使用255.255.255.255作为目标地址,使用UDP 68端口作为源端口来广播DHCP OFFER信息;
- 客户机使用0.0.0.0作为源地址,255.255.255.255作为目标地址,使用UDP 67端口号作为目的端口号来广播DHCP REQUEST信息;
- DHCP Server使用自己的IP作为源地址,使用255.255.255.255作为目标地址,使用UDP 68端口作为源端口来广播DHCP ACK信息;
DHCP客户机续租
DHCP客户机会在租期过去50%时候,直接向为其提供IP地址的DHCP服务器发送DHCP REQUEST报文,若客户机接收到server回复的ACK报文,则更新租期和其他TCP/IP参数;若没有受到则在租期到87.5%时候再去发送DHCP REQUEST报文,若还是没有受到ACK回复,则到租期的100%时候,客户端必须放弃这个IP地址。
DHCP SERVER搭建
1、首先需要关闭iptables、selinux,此过程不再讲述。(主要是初学者针对这些安全策略容易出现问题,所以全部关闭)
2、安装DHCP软件包(前提是做好yum源,此过程不再讲述)
yum install -y dhcp
安装好后可以通过rpm -q dhcp查看是否已安装完成
3、将dhcp.conf.example配置文件复制到/etc/dhcp/dhcpd.conf下;
cp -a /usr/share/docdhcp-4.*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
4、相关配置文件修改
将配置文件前面的几个subnet声明注释掉。直接修改最后一个subnet。详解如下:(注意要和dhcp的这个网卡ip要在同一个网段,不然服务起不来)
5、重启dhcpd服务:service dhcpd start
6、重启客户机网卡:ifdown enps03;ifup enps03
保留地址实验
1、查看主机上的mac:arp -a;
2、修改/etc/dhcp/dhcpd.conf配置文件,设置固定ip
host fantasia {
hardware ethernet 08:00:27:e5:b5:dc;
fixed-address 192.168.1.161;
}
3、重启dhcp服务,后续就可以给固定mac的机器分配ip了;
超级作用域(放置多个dhcp分配的网段)
修改/etc/dhcp/dhcpd.conf配置文件,设置多个dhcp网段(之前其他的subnet注释掉)
shared-network 100-200 {
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.100;
range 192.168.1.10 192.168.1.11;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.100;
range 192.168.2.10 192.168.2.20;
}
# pool {
# allow members of "foo";
# }
# pool {
# deny members of "foo";
# range 10.0.29.10 10.0.29.230;
# }
}
重启dhcp服务即可;
DHCP RELAY(DHCP中继)
DHCP SEVRER端配置:
vim /etc/dhcp/dhcpd.conf
#注意必须要添加和dhcp server网卡ip同网段的subnet,其他可以删去
subnet 10.144.253.0 netmask 255.255.255.248 {
range 10.144.253.2 10.144.253.5;
option routers 10.144.253.6;
}
subnet 10.150.137.0 netmask 255.255.255.0 {
range 10.150.137.100 10.150.137.106;
option routers 10.150.137.254;
}
DHCP中继一般采用路由器或者交换机配置,服务器做中继较少,具体不再阐述;