DHCP服务
配置DHCP服务
1、DHCP服务
1、DHCP : 动态主机配置协议。专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。
DHCP的好处:
减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改IP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
DHCP的分配方式:
自动分配:分配到一个IP地址后永久使用 手动分配:由DHCP服务器管理员专门]指定IP地址 动态分配:使用完后释放该IP,供其它客户机使用
DHCP租约过程:
客户机从DHCP服务器获得IP地址的过程为DHCP的租约过程,如图:
文字解释:
1.客户机请求IP地址 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器 2.服务器响应 DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播- -则DHCP Offer消息 3.客户机选择IP地址 DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机 4.服务器确定租约 DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化 5.重新登录 DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息 6.更新租约 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
使用DHCP动态配置主机地址:
DHCP服务 为大量客户机自动分配地址,提供集中管理 减轻管理和维护成本、提高网络配置效率 可分配的地址信息主要包括 网卡的IP地址、子网掩码 对应的网络地址、广播地址 默认网关地址 DNS服务器地址
配置DHCP服务器
yum install -y dhcp cd /etc/dhcp/ ls 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
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 { 声明要分配的网段地址 range 192.168.80.10 192.168.80.20; 设置地址池 option routers 192.168.80.254; 指定默认网关地址 } subnet 192.168.1.0 netmask 255.255.255.0 { range 192. 168.1.100 192.168.1.200; option routers 192.168.1.254; } subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.20 192.168.2.30; option routers 192. 68.2.254; } host主机声明(给单机分配固定的IP地址) host hostname{ 指定需要分配固定IP地址的客户机名称 hardware ethernet 00:c0:c3:22:46:81; 指定该主机的MAC地址 fixed-address 192. 168.4.100; 指定保留给该主机的IP地址 } 后面内容可都删除 systemctl start dhcpd systemctl stop firewalld setenforce 0
自古英雄多磨难