目录
一、DHCP原理
DHCP介绍
DHCP工作原理
DHCP分配方式
工作原理
DHCP重新登录
DHCP优点
二、DHCP配置
一、DHCP原理
1 DHCP介绍
大家都知道,现在出门很多地方基本上都有WIFI,那么有没有想过这样一个问题,平时在家里都是“固定”的ip地址,那么如果出门连接了公共的WIFI,会怎样获得,获得什么ip地址呢?
其实,这里就涉及到了DHCP动态分配。之前我们配置ens33网卡的时候,通常都是将网络分配方式由原来的 DHCP 改成 static 静态。为什么要这么做呢?如果不改成静态的话,我们这一次远程连接上了虚拟机,下一次开机就可能连不上了。说到这,大家可能隐约意识到,DHCP动态分配是个什么了,没错,就是字面意思,动态分配 ip 地址。
用官方一点的话说,就是动态主机配置协议,专门用于为 TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议。
DHCP使用67和68端口,用于简化主机地址分配管理。服务端和客户端使用端口不一样。
Server 端:DHCP Server(运行 dhcp 服务)
UDP 服务:监听端口 67(bootps)
Client 端:DHCP Client(运行 dhcp 程序)
UDP 服务:监听端口 68 (bootpc)
2 DHCP工作原理
DHCP分配方式
DHCP有三种分配方式
自动分配:当 DHCP 客户机第一次成功地从 DHCP 服务器获取到一个 IP 地址后, 就永久地使用这个 IP 地址。
手动分配:由 DHCP 服务器管理员专门指定 IP 地址。
动态分配:是当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个 IP 地址,供其他客户机使用
工作原理
说了这么多,DHCP究竟是如何工作的呢?
一开始,当一台机器启动时,它还没有 IP 地址,所以主机要通过 DHCP 获取一个合法的地址。此时主机以广播方式发送 DHCP Discover 信息来寻找 DHCP 服务器,当 DHCP 服务器接收到来自主机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP 地址提供给主机。如果有,DHCP 服务器就将此 IP 地址做上标记, 加入到即将反馈的消息中,然后将该消息广播出去。主机接收到消息后,选择 IP 地址,通常会选择接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的 DHCP 服务器将该地址保留,这样该地址就不能再分配给其他主机。之后主机会向服务器发送 DHCP Request 消息,表示选择该 ip 地址。服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向主机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息。当主机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化。
整个过程都是以广播形式转发信息,这个过程被称为四次会话,其实有点类似于计算机网络中的,TCP建立连接的三次握手四次挥手过程。
DHCP重新登录
那么,前面也提到,为什么在家连网的时候,ip地址一直不变呢?不是说好了动态分配吗?其实,确实是动态分配,只不过每一次都是分配的同一个地址,因为一台主机或者是用户连接一个网络时,会有上次连接时的缓存,直接将该缓存信息发给DHCP服务端就可以了,服务端收到该信息就直接将上次分配的地址重新分配给该用户。
3 DHCP优点
说了这么多,DHCP有什么好处呢?为什么要使用这种分配方式?这个问题的答案其实很显然。因为每个人上网的时间都是不确定的,而且使用人员的技术水平也不同,假如我完全不懂什么ip地址什么路由器,我连个WiFi难道要我自己申请什么ip地址?这是不现实的。而且还会造成 IP 地址的浪费,很多会抢占什么66 88 这种数字吉利的地址。然后导致最后连接的人不管输什么都提示被占用,不知道哪个ip地址无人使用。而且也会为 ISP 服务商带来高额的维护成本。
所以,使用DHCP动态分配,可以减少管理员的工作量,同时会避免输入错误的情况,避免 IP 地址冲突,提高了 IP 地址的利用率。
二、DHCP配置
在配置之前我们首先要安装相关的服务
yum -y install dhcp
拷贝模板,名字为dhcpd.conf
cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
然后我们编辑该配置文件
vim /etc/dhcp/dhcpd.conf
我们来为他设置一下行号
我就直接用数字行号来代表这一行的字段了
7:指定客户端使用的DNS域名为 example.org
8:指定 DNS 服务器地址
10和11行分别时默认租约时间和最大租约时间
14:用于指定DHCP服务器是否以及如何进行动态DNS更新
以上为DHCP全局配置,下面我们进行DHCP局部配置,大概在四十多行的位置
47行是声明网段地址,我们直接改成我们所需修改的网段,不要忘了修改后面的子网掩码
48行是dhcp地址池映射范围,我这里随便设置了一个网段内的范围
49行定义DNS服务器
51行默认网关
52行广播地址
53和54依然是默认祖约时间和最大租约时间
这边都配置完成后就可以去客户端进行验证
ipconfig /release
ipconfig /renew