linux DHCP

DHCP是一种网络协议,用于自动分配IP地址及其他网络参数。其工作流程包括客户端搜索服务器、服务器提供IP地址、客户端确认及租约更新。配置DHCP服务器涉及安装软件包、编辑配置文件、设置地址池和网络参数。DHCP中继服务允许跨网段分配网络参数,需开启路由转发并指定中继服务器。
摘要由CSDN通过智能技术生成

目录

DHCP概念作用

DHCP工作原理

DHCP服务

配置DHCP服务器

DHCP中继服务


DHCP概念作用


概念:dhpc即动态主机设置协议,是一个局域网的网络协议,使用UDP协议工作,主要是给网络快速自动地分配IP地址,DHCP能够帮助我们将IP地址和相关IP信息分配给网络中计算机。

作用:动态分配网络参数(IP、网关、域名、MAC地址等)

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。

DHCP工作原理


1. 获取网络参数

第一步:客户端搜索DHCP服务器

客户端通过广播发送DHCP Discover 报文寻找服务器端

第二步:DHCP服务器提供四种和配置文件

服务端通过单播(华为的路由器使用的是单播,其他使用的是广播)发送DHCP offer报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端

第三步:客户端接受并广播

如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只会接收第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP-request,报文告知服务端本地选择使用该IP地址

第四步:DHCP服务器确认请求

服务器通过广播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息。

2. 重新登录

客户端:DHCP客户机每次重新登录网络时不发送discovery,直接发送request包,要求之前分配                的网络参数

服务端:若之前的网络参数未被占用,则发送ack包分配网络参数   若之前的网络参数被占用,则                发送nack包,客户端重新discovery

3. 租约更新:当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约 如果更新成功则租约剩余时间恢复最大值    更新不成功,则租约期限再过半时(75%)时,向服务器发送request包,请求更新租约 如成功则租约剩余时间恢复最大值  更新不成功,继续使用至租约到期,客户端地址失效,重新发送discovery包获取新的网络参数

DHCP服务


软件包名:dhcp

服务名:   dhcpd

配置文件解析:


    全局配置 :对整个DHCP服务都生效


    网络声明:
        仅对指定的网络生效
        subnet :       网络
        netmask :    子网掩码
        range :        指定的地址池(使用空格隔开)
        option routers:    指定为客户端分配的网关地址


    主机声明
        仅对当前指定的主机生效
       host :        自定义名称
        hardware ethernet :    指定客户端的MAC地址
            ifconfig
            dmesg | grep e1000
        fixed-address :   指定为客户端分配的固定IP地址或域名

配置DHCP服务器


一. 准备环境

服务器:

1. 首先关闭防火墙:

iptables -F
setenforce 0
systemctl  stop  firewalld

2. 配置yum源并查看挂载准备安装dhcp

然后查看并修改ens33网卡配置文件命令 :vim /etc/sysconfig/network-scripts/ifcfg-ens33 保存退出后断开网卡并再次连接

3. 安装DHCP:

命令 :yum install -y dhcp

下一步输入命令 :rpm -ql dhcp 打开dhcp找到 /etc/dhcp/dhcpd.conf

随后vim进入/etc/dhcp/dhcpd.conf 进入之后找到/usr/share/doc/dhcp*/dhcpd.conf.example 将它复制覆盖到/etc/dhcp/dhcpd.conf下

复制命令:cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf  随后确认覆盖

 

 覆盖完成之后再次vim进入dhcp下 命令:vim /etc/dhcp/dhcpd.conf 进入之后找到修改配置项

# A slightly different configuration for an internal subnet.
subnet 10.5.5.0 netmask 255.255.255.224 {
  range 10.5.5.26 10.5.5.30;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}

服务器端:
[root@localhost~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {            #设置网段
range 192.168.1.10 192.168.1.100;                            #分配的地址范围
option domain-name-servers192.168.1.254;               #DNS服务器
option domain-name "hr.com";                                    #设置DNS域名
option routers 192.168.1.254;                                     #网关
default-lease-time 600;                                                #默认租约时间
max-lease-time 7200;                                                  #最大租约时间
}
 

下面修改配置 网段设置192.168.10.1   网卡192.168.10.254  地址范围10--20 随后保存退出



输入命令systemctl restart dhcpd 重置服务器

 客户机:

修改配置文件获取方式改为自动 并在IP地址 子网掩码 网卡前加“#”号使其检测不到 然后保存退出

退出之后输入命令 :ifdown ens33 && ifup ens33 断开网卡并重新连接 随后ifconfig查看是否获取IP

DHCP中继服务



    原理 :可以实现跨网段分配网络参数
        
    要点
        在DHCP服务器的配置文件中再声明一个网段,且必须包含服务器ip所在的网段声明
        涉及到跨网段,必须指定网关
        网关服务器开启路由转发


    实现步骤


     服务器端 : 声明两个网段
                         指定网关
           
     中继服务器 :
            开启路由转发:
                文件路径:/etc/sysctl.conf
                    输入内容:net.ipv4.ip_forward=1
                          刷新查看 :sysctl  -p


            指定DHCP服务器,支撑中继功能 :
                安装dhcp服务
                指定dhcp服务器
                    dhcrelay   (服务器IP地址)
        客户端
            重新获取IP地址
    

实验案例:

实现跨网段分配IP地址参数
        要求:
            本网段为192.168.20.0网段,服务器IP地址自行指定
            其他网段为192.168.30.0网段,客户端可以得到的IP地址为192.168.30.50

首先进入到服务器中根据题目修改当前服务器的配置文件

服务端检查挂载随后安装DHCP 命令为yum -y install dhcp

下一步查看dhcp路径 命令为 rpm -ql dhcp

找到/etc/dhcp/dhcpd.conf 并使用vim进入

 

系统会给提示找到/usr/share/doc/dhcp*/dhcpd.conf.example这一行模班文件把它复制 覆盖到 /etc/dhcp/dhcpd.conf 下并y进行确定 再次进到vim /etc/dhcp/dhcpd.conf下

写入要求的IP网卡信息 并保存退出

输入Systemctl restart dhcpd 重启服务器

然后进入到中继机修改题目要求的ens33和ens36网卡的配置信息ip与网关达到一致

    

 然后输入ifdown ens33 && ifup ens33 和ifdown ens36 && ifup ens36断开重新连接网卡并输入ifconfig查看

接下来安装中继机的dhcp  yum -y install dhcp

 安装完成之后输入vim进入到 /etc/sysctl.conf里面在最后一行写入net.ipv.ip_forward=1保存退出 开启路由转发

随后sysctl -p刷新查看 显示net.ipv.ip_forward=1就表示完成了

 然后在中继机去指定服务器ip输入 dhcrelay192.168.20.1

随后再去指定路由为服务器 输入route add -net 192.186.30.0/24 gw 192.168.20.1

随后进入到客户机尝试断开网卡再次连接

成功之后查看客户机网卡是否获取了192.168.30.50 ip

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值