linux中DHCP原理与配置
一、概览
1、DHCP工作原理
■DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)
■由Internet工作任务小组设计开发
■专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
2、使用DHCP的好处
●减少管理员的工作量
●避免输入错误的可能
●避免IP地址冲突
●当更改IP地址段时,不需要重新配置每个用户的IP地址
●提高了IP地址的利用率
●方便客户端的配置
3、DHCP的分配方式
●自动分配:分配到一个IP地址后永久使用
●手动分配:由DHCP服务器管理员专门指定IP地址
●动态分配:使用完后释放该IP,供其它客户机使用
4、DHCP的租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为四个步骤
编号 | 请求名 | 描述 | 请求过程 | 类型 | 备注 |
---|---|---|---|---|---|
1、 | discover | 请求IP地址 | 客户端–>服务端 | 广播(多台DHCP时,先到先得) | |
2、 | offer | 服务器回应可用IP信息(可用IP,子网掩码,网关,DNS,租约期限) | 服务端->客户端 | 广播 | |
3、 | request | 客户端请求确认可用IP | 客户端–>服务端 | 广播 | 特殊情况:如果 offer中的IP被占用,直接回应noack |
4、 | ack | 服务端确认IP可用 | 服务端–>客户端 | 广播 |
租约期限 8天 租约期限过半 续约 第5天
第5天如果DHCP挂了,哪就继续租,到第8天再去找DHCP,还是挂的,
局域网中如果没有可用的DHCP,获取169.254.0.0/24网络地址
5、DHCP主配置文件各属性
全局设置,作用于整个DHCP服务器
ddns-update-style none;–代表DNS动态更新,none禁止
default-lease-time 21600;–代表默认租约期限
max-lease-time 43200;–最大租约期限
option domain-name “domain.org”;–域名
option domain-name-servers 202.106.0.20;–分配DNS服务器
6、配置Subnet网段声明,作用于整个子网段
range参数:设置用于分配的IP地址池
option subnet-mask参数:设置客户机的子网掩码
option routers参数:设置客户机的默认网关地址
subnet是子网段,子网段中优先级更高
7、主配置文件
host主机声明,作用于单个主机
- hardware ethernet参数:指定对应主机的MAC地址
- fixed-address参数:指定为该主机保留的IP地址
二、DHCP实验步骤
设置一:设置DHCP服务端和客户端
1、关闭selinux防火墙
命令:setenforce 0
2、清空防火墙
命令:iptables -F
3、查看服务状态
命令:systemctl status firewalld
4、安装dhcp相关的包
命令:yum install dhcp* -y
5、两台机器绑定到同一个网卡上去,仅主机模式
一台机器centos7.6,一台机器win10
6、查询DHCP文件全名
命令:rpm -q dhcp
7、查询DHCP的配置文件
命令:rpm -qc dhcp
8、打开配置文件
命令:cat /etc/dhcp/dhcpd.conf
文件中要求参考/usr/share/doc/dhcp*/dhcpd.conf.example
9、拷贝文件
命令:cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
10、修改网卡配置文件
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
11、重启网络服务
命令:systemctl restart network.service
12、修改/etc/dhcp/dhcpd.conf文件
命令:vi /etc/dhcp/dhcpd.conf
13、重启DHCP服务
命令:systemctl start dhcpd 重启
14、查看进程状态
命令:netstat -nuap
15、查看网络是否相通
16、客户端win10设置成dhcp方式
17、释放全部(或指定)适配器的由DHCP分配的动态IP地址
命令:ipconfig /release
18、DHCP获取地址
命令:ipconfig /renew
配置二:DHCP配置指定的主机IP地址
1、查询win10的MAC地址
命令:ipconfig /all
2、编辑DHCP配置文件
命令:vi /etc/dhcp/dhcpd.conf
3、重启DHCPD服务
命令:systemctl restart dhcpd.service
4、重启Win10并释放全部(或指定)适配器的由DHCP分配的动态IP地址
命令:ipconfig /release
5、重新获取DHCP的地址
命令:ipconfig /renew