DHCP工作原理
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
■由Internet工作任务小组设计开发
■专门用于为TCP/IP参数的协议
DHCP是应用层 用的是udp 67 和68端口
(2)了解DHCP服务
■使用DHCP的好处
●减少管理员的工作量
●避免输入错误的可能
●避免IP地址冲突
●当更改IP地址段时,不需要重新配置每个用户的IP地址
●提高IP地址的利用率
●方便客户端的配置
(3)DHCP的分配方式
●自动分配:分配到一个IP地址后永久使用
●手动分配:由DHCP服务器管理专员指定IP地址
●动态分配:使用完后释放该IP,供其他客户机使用
DHCP是C/S 模式 DHCP服务端和客户端需要保持通信的,DHCP基于UDP协议,双方都有可能会主动向对方发起通讯,因此双方都需要监听端口
server端:DHCP server(运行DHCP的服务)
UDP服务:监听端口为67(bootps)
client:DHCP client (运行DHCP的程序)
UDP服务:68监听端口68(bootpc)
典型的C/S模式
在网络中架设一台专用的dhcp服务器,负责集中分配各种网络地址的参数(主要包括:ip地址、广播地址、子网掩码、默认网关地址、DNS)其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程
(4)dhcp的租约过程
■客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
■分为四个步骤
1.客户端在网络中搜索服务器
2.服务器向客户端响应服务
3.客户端向目标服务器发出服务请求
4.服务器向客户端提供服务
(5)客户端请求ip地址
●当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
●此时DHCP客户机以广播方式发送DHCP Discover 发现信息来寻找DHCP服务器
(6)DHCP的租约过程
●DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
●如果有,DHCP Offer的消息中,然后广播一则DHCP Offer消息
(7)客户机选择ip地址
●DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器地址保留,这样该地址就不能再分配给另一个DHCP客户机
(8)服务器确定租约
●DHCP服务器接收到DHCP Request 消息后,以DHCP ACK消息的形式向客户机刚播的成功确认,该消息包含有IP地址的有效租约和其他配置的信息
●当客户及收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
(9)重新登陆
●DHCP客户机每次重新登录网络是,不需要在发送DHCP Discover信息,而是直接发送包含前一次分配的IP地址的DHCP Request请求信息
(10)DHCP的租约过程
■更新租约
●当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
●客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
2、DHCP服务器的配置
(1)使用DHCP动态配置主机地址
■DHCP服务
●DHCP服为大量客户机自动分配地址,提供集中管路
●减轻管路和维护成本、提高网络配置效率
■可分配的地址信息主要包括
●网络的IP地址、子网掩码
●对应的网络地址、广播地址
●默认网管地址
●DNS服务器地址
(2)安装DHCP服务器
■DHCP服务器软件
●CentoS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
●DHCP软件包的主要文件
主配置文件: /etc/dhcpd.conf
执行程序: /usr/sbin/dhcpd、lusr/sbin/dhcrelay
配置.DHCP服务器lslgrep dhcp
rpm -qa l grep dhcp
yum install -y dhcpcd
ls /etc/dhcp/
查看此端口是dead状态 需要开启 systemctl enable dhcpd
less dhcpd. conf
cd /usr/ share/doc/ dhcp-4.2.5/
ls
less dhcpd.conf.example
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/ dhcp / dhcpd.conf
(3) #设置全局配置参数
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动态更新
(4)dhcpd.conf的内容构成
ddns-upadte-style interim; #全局配置参数
subnet 192.168.0.0 netmask 255.255.255.0{ #网段声明
option routers 192.168.0.1; #配置选项
default-lease-time 21600; #配置参数
host ns {
fixed-address 207.175.42.254; #主机声明
(5)全局设置作用于整个DHCP服务器
ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option domain-name “domain.org”;
option domain-name-servers 202.106.0.20;
(6)subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
●range参数:设置用于分配的IP地址池
●option subnet-mask参数:设置客户机的子网掩码
●option routers 参数:设置客户机的默认网关地址
subnet 192.168.80.0 netmasky 255.255.255.0{ #声明要分配的|s段地址
range 192.168.80.10 192.168.80.20; #i设置地址池
option routers 192.168.80.254; #指定默认|X地址
(7)host主机声明(给单机分配l固定的IP地址)
●hardware ethernet 参数:指定对应主机的MAC地址
●fixed-address 参数:指定为该主机保留的IP地址
host hostname { #指定需要分配固定IP地址的客’机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址I
fixed-address 192.168.4.100; #指定保留给i该主机的IP地址
#后面内容可都删除
systemctl start dhcpd(打开)
systemctl stop firewalld(关闭防火墙)
setenforce o(增强功能)
(8)启动dhcp服务
[root@localhost~]#systemctl start dhcpd
[root@localhost~]#netsat -anpu | grep “:67”
#如果DHCP服务启动失败、可以查看日志文件
tail -f /var/log/meassage
查看租约文件 /var/lib/dhcpd/dhcpd.lease
[root@localhost~]#less /var/lib/dhcpd/dhcpd.lease
3、DHCP客户端的使用
(1)使用DHCP客户端
■两种使用方式
●修改网卡配置(如ifcfg-ens33)
BOOTPROTO=DHCP
●使用dhclient命令
语法格式:dhclient [-d] [网络接口名]
在ensp中配置DHCP中继
dhcp enable #开启DHCP功能#
interface Vlanif10
ip address 192.168.1.254255.255.255.0
dhcp select relay #开启DHCP中继功能
dhcp relay server-ip 192.168.80.10 #指向DHCP服务器的地址
interface vlanif20
ip address 192.168.2.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.80.10
interface vlanif100
ip address 192.168.80.254255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.80.10
假设我们需要将日志记录在/var/log/目录下,我们先touch一个dhcp.log文件。
- .创建dhcp.log文件
#touch /var/log/dhcp.log
#chmod 640 /var/log/dhcp.log
- .修改/etc/dhcpd.conf配置文件,然后保存并退出删。(注意不同Linux发行版配置文件路径有所不同)
log-facility local4;
- .在/etc/rsyslog.conf文件中添加
#Local4.* /var/log/dhcp.log
总结:
1、DHCP工作原理(三次握手、四次挥手重点)
2、DHCP服务器配置方法
3、DHCP客户端获取IP地址
4、DHCP中继原理与配置