这里写自定义目录标题
DHCP服务
什么是DHCP服务呢?
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是一个局域网的网络协议,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码
DHCP提供了安全、可靠且简单的TCP/IP网络配置,降低了配置IP地址的负担。
DHCP服务对应传输层UDP协议,因为是C/S架构,所以客户机端口号是67,服务器端口号是68
使用DHCP的优点
Internet是目前世界上用户最多的服务之一,有几亿人在使用Internet。
由于上网的时间不确定以及使用人员的技术水平不一致,为每位用户分配一个固定的ip地址,不仅造成了ip地址的浪费,也会为ISP服务商带来高额的维护成本。从而使得DHCP服务有了以下优点:
减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改lP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
DHCP的分配方式
在DHCP工作原理中,DHCP服务器提供了三种IP地址分配方式:自动分配(Automatic Allocation)、手动分配(Manual Allocation)和动态分配(Dynamic Allocation)
自动分配: 分配到一个IP地址后永久使用
手动分配: 由DHCP服务器管理员专门指定IP地址
动态分配: 使用完后释放该IP,供其它客户机使用
DHCP工作过程/原理
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约,大概分为四个过程:
1.客户机请求IP地址
当一个DHCP客户机启动时,本身是没有IP地址的,所以要通过DHCP获取一个合法的地址(DHCP客户机以广播方式发送DHCP Discover信息来寻找DHCP服务器);
2 服务器响应
DHCP服务器接收到来自客户机请求lP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机 ==> 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
3 客户机选择IP地址
客户机选择第一台DHCP服务器回复的ip地址,并且要广播发送DHCP request,通告给局域网中所有的DHCP服务器,它选择了哪个IP和哪个DHCP(发送DHCP
request的原因有两层,第一层是通告所有DHCP,让未被选中的服务器,把未使用的地址收回,第二层是通告给被选中的服务器,这个IP地址客户机要使用了)
4 服务器确定租约
服务器:DHCP服务器接收到DHCP Request消息后,以DHCP Ack消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
客户端: 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
重新登陆: DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
更新租约: 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约; 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
使用 DHCP动态配置主机地址
3.1DHCP服务优点
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
可分配的地址信息主要包括
网卡的IP地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
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 #如果启动失败,可以通过查看日志文件来排查错误
实例
关闭防火墙和selinux
安装服务并查看相关配置文件
拷贝并修改 /etc/dhcp/dhcpd.conf 配置文件
修改网卡
修改配置文件
验证区域与全局优先级