小言_互联网的博客

linux网络设置(二)DHCP原理、DHCP安装、DHCP中继配置

258人阅读  评论(0)

一、了解DHCP服务

1、概念

DHCP:动态主机配置协议,由internet工作任务小组设计开发,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议;使用的udp67、68端口,服务器端使用67/udp,客户端使用68/udp。

2、DHCP的好处

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免IP地址冲突
  • 当更改IP地址段时,不需要重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

3、DHCP的分配

3.1、DHCP的分配方式

  • 自动分配:分配到一个IP地址后永久使用
  • 手动分配:有DHCP服务器管理员专门制定IP地址
  • 动态分配:使用完后释放该IP,供其他客户机使用

3.2、DCHP的可分配信息

  • 网卡的ip地址、子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器地址

4、DHCP的工作原理(租约过程)

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程,分为四个步骤,见下图
①:客户端从零开始,所以源ip:0.0.0.0,不知道目标ip,所以需要发广播,目标地址:255.255.255.255源端口:68目标端口:67
②:客户端发现DCHP服务器,源ip:DHCP服务器,仍需要发送广播,目标ip:255.255.255.255,源端口:67,目标端口offer同时携带ip地址、网关、dns等参数;
③:因为广播域中不止存在一台DHCP服务器,有多台DHCP都向服务器发送的offer时,客户端需要发广播,源ip:0.0.0.0目标ip:255.255.255.255,且默认服务器确认收到的第一个offerr,其余offer不接收,源端口:68,目标端口:67
④:是服务器需要跟客户端再次确认IP地址,所以还是发广播。第四步结束之后才获得IP地址
再三广播确认是因为使用的是UDP协议,UDP协议本身是不稳定的,需要再三确认;若使用的TCP协议的话,本身TCP协议的搭建在三次握手的基础上,在很稳定的基础上就可以直接获得ip地址。

5、DHCP的租期

租期是整个DHCP过程的基础,DHCP服务器提供每个IP地址都有相应的租用期。

  • IP租约期限到达50%时,DHCP客户端就会请求更新IP地址租约;
  • DHCP客户端在租约期限到达87.5%时,还没有收到服务器相应,会申请重新绑定IP;
  • 如果IP租约到期前都没有收到服务器的响应,客户端停止使用此IP地址;
  • 如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE 报文,释放该IP地址
    需要说明一点的是,并不是到87.5%就释放了,若回应UNack,先回到RELEASE,时间到了100%,IP地址释放,再回到DISCOVER状态。

6、DHCP的优点

  • 为大量客户机自动分配地址,提高集中管理
  • 减轻管理和维护成本,提高网络配置效率

7、配置文件-租约配置文件、dhcp日志目录

7.1、租约配置文件

/var/lib/dhcpd/dhcpd.leases   #查看租约配置文件

随dhcp安装就有的,但是没有获得dhcp的ip是不通的

7.2、dhcp的日志目录

/var/log/messages

tail -100 /var/log/messages:查看后一百条日期内容

二、安装DHCP服务器

1、安装步骤

2、结合试验

2.1、安装DHCP并启用服务,并要求虚拟windows10可以获得IP地址,同时可以连接其余虚拟机

  1. 关闭防火墙和网络管理服务
systemctl stop firewalld.service  #关闭防火墙
systemctl stop NetworkManages    # 关闭网络管理服务
  1. yum安装DHCP,需要设置虚拟机为net模式,可以上网下载
  2. 添加一款新的网卡(可添加可不添加,不添加就用本身的网卡)
vim /etc/sysconfig/network-scripts/ifcfg-ens37

cp -p /etc/sysconfig/network-scripts/ifcfg-ens37 /etc/sysconfig/network-scripts/ifcfg-ens37.nat  # 备份网卡ens37
  1. 更改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens37
systemctl restart network   # 重启网络服务

主要更改配置文件必须重启网络

这时ifconfig查看接口信息,发现ens37的ip地址已存在

  1. 查看dhcp的配置文件 /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf  #编辑配置文件

发现配置文件内只有以下内容,并没有配置相关的内容;告知需要访问/usr/share/doc/dhcp*/dhcpd.conf

vim /usr/share/doc/dhcp*/dhcpd.conf #发现配置文件内容在里面

把内容复制到dhcp的配置文件内

这时再次打开配置文件vim /etc/dhcp/dhcpd.conf

6. 编辑网卡配置文件的内容


配置文件里面看到sunet这个单词,说明:单词以下是局部的,以上部分是全局的
subnet:声明;声明一个网段;给客户端分配哪个网段地址
range:配置地址池
option domain-name:全局已经配置过,局部就不用配置了;若是全局和局部都定义了,生效是按照局部生效
option routers:网关
option broadcast-address:广播地址可配可不配
7. 修改完配置文件启动服务,并验证端口是否开启

systemctl start dhcpd


8. 设置windows相关系统配置
设置仅主机模式,使其无法上网

给windos10,配置自动获取地址

ifconfig,获取不到结果

那就释放ip地址再重新获取
ipconfig /release
ipconfig /relnew

这时windows已经获取了DHCP的ip

2.2、使得DHCP服务器可以与其他虚拟机相连

1、这时更换一个网卡ens33,更改配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33:配置BOOTPROTO为dhcp

重启网络服务

这时即可与其他虚拟机相连

2.3、DHCP服务器配置固定IP

  1. 配置mac地址(物理地址)
    查询虚拟windows上的物理地址,并进行绑定

    编辑主配置文件
    vim /etc/dchp/dchpd.conf
    “-”改成“:":
    host里面配置的ip超出subnet的地址池没有关系,但是要在同一个网段

    然后重启网络服务,检测端口

    这时要释放之前的再重新获取

2.4、虚拟机抓包演示

  1. 更改ens37虚拟机为net模式,并修改其配置文件

    安装抓包软件 yum -y install wireshark*
    把另一个网卡ens33改为net模式,ens33的配置文件的网关跟net模式设置的网关要保持一致
    net设置是固定的,若ens33配置文件内的网关配置错了是无法连上网络的

    虚拟机上–应用程序–互联网–打开抓包软件
    抓包用bootp

    这时在windows上,ipconfig /renew查询, wireshark工具筛选出DHCP,需要输入bootp;下图所示,网卡ens37配置的是192.168.88.10,还展示了dhcp的工作过程

    这里讲解一个命令,可以查看dhcp的状态
dhclient -d ens33   #查询网卡ens33的dhcp状态

2.5、虚拟机实现DHCP中继代理

两台客户机,一台服务机,是典型的C/S架构

  1. 想要dhcp虚拟服务器与二层交换机相连,需要双击cloud3,按照下图去配置,其中UDP是固定的,其次选择网卡对应的虚拟机类型
  2. 配置二层交换机四个端口
  3. 三层交换机作为中继器,需要开启dhcp:dhcp enable

    并且开启中继模式 dhcp select relay
    进入vlan 10 、vlan20,vlan192,配置开启中继模式
    配置指向服务端的ip,即网卡ens37的ip


pc1和pc2选择dhcp

  1. 虚拟机配置地址池
    进入配置文件:vim /etc/dhcp/dhcpd.conf
    把pc1和pc2 两台客户机的网段、ip地址池、网关配置好

  2. 重启网络服务和查看端口已开启

  3. 增加网卡ens37的网关

    route -n 查询一下,发现ens37的网关已经增加上去

    重启网络服务

  4. 这时在pc1上面 获取下ip,获取到dhcp的ip:最好先释放(ipconfig /release),再获取ip(ipconfig /renew),如下图,已获得网ip地址


转载:https://blog.csdn.net/weixin_56667320/article/details/117089318
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场