Linux教程

Linux(二十二)深入探究DHCP及中继服务

本文主要是介绍Linux(二十二)深入探究DHCP及中继服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

 

一、DHCP服务基础

1.1.DHCP服务概述

1.2.DHCP的优点

1.3.DHCP的分配方式

1.4.DHCP的租约过程

1.4.1 客户机请求IP地址

1.4.2 服务器响应

1.4.3.客户机选择IP地址

1.4.3 服务器确定租约

1.4.4 重新登录

1.4.5 更新租约

二、DHCP动态配置主机地址

2.1.DHCP服务

2.2.可分配的地址信息主要包括

2.3.配置DHCP服务实验步骤如下

2.3.1 故障排查

2.3.2.查看dhcpd 分配租约时间

2.3.3.查看dhcpd的日志

2.3.3.抓包

2.3.4.安装抓包工具

2.3.5 查看dhcp客户端的分配状态

三、实现DHCP中继服务

3.1.实验网络拓扑图

3.2.步骤

         3.2.1.配置ensp模拟器上的设备

         3.2.2.DHCP 服务器配置

3.2.3 验证网络适配器是否添加成功

3.2.4 配置网卡信息

3.1.5.验证网卡信息是否配置成功


一、DHCP服务基础

1.1.DHCP服务概述

                   Dynamic Host Configuration Protocol ,动态主机配置协议,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

1.2.DHCP的优点

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

1.3.DHCP的分配方式

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

1.4.DHCP的租约过程

            客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

            分为四个步骤:

            

  1.4.1 客户机请求IP地址

  •                当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址。
  •                此时DHCP客户机以广播方式发送DHCP Discover发送信息来寻找DHCP服务器

                           

   1.4.2 服务器响应

                  ●DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的P地址池中查找是否有合法的IP地址提供给客户机

                  ●如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息

1.4.3.客户机选择IP地址

                  ●DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP名。

 

1.4.3 服务器确定租约

                ●DHCP服务器接收到DHCP Request消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。

                ●当客户机收到DHCPACK消息时,配置lP地址,完成TCP/IP的初始化

1.4.4 重新登录

               ●ODHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息

 

1.4.5 更新租约

      ●当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约 

      ●客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约          

 

注意:当主机分配到169.254.0.0 的网段地址,说明dhcp未分配到地址给客户机,此时应该查看DHCP的服务器

二、DHCP动态配置主机地址

2.1.DHCP服务

           ●为大量客户机自动分配地址,提供集中管理

           ●减轻管理和维护成本、提高网络配置效率

2.2.可分配的地址信息主要包括

          ●网卡的IP地址、子网掩码

          ●对应的网络地址、广播地址

          ●默认网关地址

          ●DNS服务器地址

 

2.3.配置DHCP服务实验步骤如下

第一步:将网卡信息地址配置为软连接,便于后面的操作
ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /root/ens33

第二步:关闭网络管理器NetworkManager
systemctl stop NetworkManager

第四步:关闭防火墙
systemctl  stop firewalld

第三步:通过yum  下载安装dhcp
yum -y install dhcp

2.3.1 故障排查

  •   报错信息为:

  • 问题描述:以上信息显示为无法拉取镜像文件,表示无法连接外网,通过ping  www.baidu.com 的方式进行尝试

  •     查看路由是否存在。

  • 缺少出去的默认路由
route add default gw 192.168.1.2 dev ens33
  • 再次尝试ping www.baidu.com

  •  网络已经通了,重新下载安装

  • 以上通过rpm -q dhcp 查询服务已经安装成功
第三步:通过rpm -qc dhcp 查看配置文件位置
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases

第四步:通过vim命令打开/etc/dhcp/dhcpd.conf 复制 文本中/usr/share/doc/dhcp*/dhcpd.conf.example
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page

第五步:将/usr/share/doc/dhcp*/dhcpd.conf.example 中的内容拷贝到/etc/dhcp/dhcpd.conf
cat  /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

第六步:修改/etc/dhcp/dhcpd.conf 在subnet 最后的代码模块下添加一个新的subnet
# subnet 后面跟的是网段   netmask后面是子网掩码
 subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.3 192.168.1.100; #网址分配范围
    option routers 192.168.1.2; # 网关地址
    default-lease-time 600; #分配后默认有效时间
    max-lease-time 7200;     #最大有效时间
 }


第七步:启动dhcp服务
systemctl  start dhcpd

第八步: 查看dhcp服务启动状态
[root@localhost ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 四 2021-05-06 09:05:49 CST; 56s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 77007 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1
   CGroup: /system.slice/dhcpd.service
           └─77007 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid


2.3.2.查看dhcpd 分配租约时间

 

 

2.3.3.查看dhcpd的日志

less -m /var/lib/dhcpd/dhcpd.leases

2.3.3.抓包

dhcp 的前身时bootp

2.3.4.安装抓包工具

yum -y install wireshak*

2.3.5 查看dhcp客户端的分配状态

 

三、实现DHCP中继服务

 

3.1.实验网络拓扑图

 

 3.2.步骤

       3.2.1.配置ensp模拟器上的设备

  •   PC2和PC3 配置相同

  •  cloud1 配置如下

   需要先在虚拟机上进行如下操作

  添加网络适配器

后给could1 进行配置如下

sw1:

sys  #进入系统
sys sw1
vlan b 10 20 30  #创建vlan 10 20 30
#以下是给接口进行设置vlan
int e0/0/2
p l a
p d v 10 
int e0/0/3
p l a
p d v 20
int e0/0/4
p l a
p d v 30
int e0/0/1
p l t
p t a v a

RW1:

sys
sys RW1
dhcp enable
vlan b 10 20 30 
int g0/0/1
p l t
p t a v a
int vlanif 10
ip add 192.168.10.254 24
  dhcp select relay
  dhcp relay server-ip 192.168.1.20
int vlanif 20
ip add 192.168.20.254 24
  dhcp select relay
  dhcp relay server-ip 192.168.1.20
int vlanif 30
ip add 192.168.1.2 24
  

 3.2.2.DHCP 服务器配置

  yum -y install dhcp

3.2.3 验证网络适配器是否添加成功

通过ifconfig -a 的命令进行验证

3.2.4 配置网卡信息

第一步:cp -a /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37
第二步:vim /etc/sysconfig/network-scripts/ifcfg-ens37
第三步设置网卡信息
 TYPE=Ethernet
 BOOTPROTO=static
 NAME=ens37
 DEVICE=ens37
 ONBOOT=yes
 IPADDR=192.168.2.2
 GATWAY=192.168.2.254
 #DNS1=114.114.114.114
第四步:保存
第五步:重启网卡
  systemctl restart network
第六步:关闭linux自身的网络管理器,避免被干扰
  systemctl stop NetworkManager
第七步:设置网络管理器的开机自启动为关闭状态
  systemctl disable NetworkManager

3.1.5.验证网卡信息是否配置成功

 执行:ifconfig 命令查看 

3.1.6.设置dhcp 配置文件

第三步:通过rpm -qc dhcp 查看配置文件位置
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases

第四步:通过vim命令打开/etc/dhcp/dhcpd.conf 复制 文本中/usr/share/doc/dhcp*/dhcpd.conf.example
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page

第五步:将/usr/share/doc/dhcp*/dhcpd.conf.example 中的内容拷贝到/etc/dhcp/dhcpd.conf
cat  /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

第六步:修改/etc/dhcp/dhcpd.conf 在subnet 最后的代码模块下添加一个新的subnet
# subnet 后面跟的是网段   netmask后面是子网掩码
 subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.3 192.168.1.100; #网址分配范围
    option routers 192.168.1.2; # 网关地址
    default-lease-time 600; #分配后默认有效时间
    max-lease-time 7200;     #最大有效时间
 }

 subnet 192.168.20.0 netmask 255.255.255.0 {
    range 192.168.20.3 192.168.20.100; #网址分配范围
    option routers 192.168.20.254; # 网关地址
    default-lease-time 600; #分配后默认有效时间
    max-lease-time 7200;     #最大有效时间
 }
 subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.3 192.168.10.100; #网址分配范围
    option routers 192.168.10.254; # 网关地址
    default-lease-time 600; #分配后默认有效时间
    max-lease-time 7200;     #最大有效时间
 }

第七步:启动dhcp服务
systemctl  start dhcpd

第八步: 查看dhcp服务启动状态
[root@localhost ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 四 2021-05-06 09:05:49 CST; 56s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 77007 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1
   CGroup: /system.slice/dhcpd.service
           └─77007 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

  

 

 

这篇关于Linux(二十二)深入探究DHCP及中继服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!