DHCP 服务器部署

| DHCP - - > Dynamic Host Configuration Protocol  动态主机配置协议

背景

任何一个需要上网的设备,都必须得有IP地址,子网掩码,网关,等等网络参数。比如:手机,电脑,智能手表,智能眼镜。。。

一个设备获取IP地址等网络参数的办法有两种:

  • 手动配置
  • 自动获取。所谓的自动获取,就会让终端设备通过DHCP协议的方法来自动的去寻找“DHCP服务器”然后呢,请求获得相对应的IP地址;

DHCP的工作角色,分为三个:

  1. DHCP客户端:用于请求IP地址等网络参数的终端设备
  2. DHCP服务器:用于分配IP地址等网络参数的服务器
  3. DHCP中  继:用于将一个DHCP客户端发送的报文,转发给DHCP服务器,也就是说,当DHCP客户端和DHCP服务器不在同一网段的时候,才会需要DHCP中继。

DHCP的工作原理/报文类型 

  • Discover报文:客户端通过广播的方式发送,用于寻找DHCP服务器来请求IP地址
  • Offer报文:服务器通过单播的方式回应客户端,其中包含的是分配的IP地址
  • Request报文:客户端通过广播的方式发送,用于和DHCP服务器确认得到的IP地址
  • ACK报文:DHCP服务器通过单播的方式回应客户端的,用于对客户端的“确认”应答

基于全局的DHCP配置

拓扑:DHCP 服务器部署_第1张图片

需求

按照下列要求,确保PC可以自动获取IP地址

思路

1.配置PC - - - > 设置成自动获取IP地址

2.配置DHCP服务器

  • 地址池
  • 网关
  • DNS
  • 租期

配置命令:

PC1/PC2
双击打开 - - > 上方的基础配置下边 - - - > IPv4配置 - - - > ©DHCP - - - > 应用

DHCP Server
undo terminal monitor
system-view
sysname DHCP Server
dhcp enable 
interface g0/0/0
ip address 192.168.1.254 24
dhcp select global    //开启全局配置,此命令的意思就是我就是DHCP服务器
quit

ip pool 1
network 192.168.1.0 mask 24
    // 设置发给客户端的IP地址网段和子网掩码
gateway-list 192.168.1.254 
    // 设置给客户端的网关IP地址是谁,是多少
dns-list 8.8.8.8
    // 设置给客户端的DNS-IP地址是谁,是多少
lease day 3  
    // 设置给客户端发的IP地址和相应的网络参数保留几天,取值范围:0- 999 天
quit

验证方法:
PC>ipconfig   查看当前网络参数
    或者
PC>ipconfig /renew       //重新获取IP地址等网络参数
PC>ipconfig 

Link local IPv6 address...........: fe80::5689:98ff:feca:3c69
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.253    //IP地址 
Subnet mask.......................: 255.255.255.0    //子网掩码
Gateway...........................: 192.168.1.254    //网关IP地址
Physical address..................: 54-89-98-CA-3C-69 //MAC地址
DNS server........................: 8.8.8.8          //DNS地址

基于DHCP的工作原理,我们知道了DHCP Discover报文的发送方式是:广播

这样一来的话呢,如果想让客户端获取IP地址的话,就只能要求:在每个DHCP客户端所在的网段,都分别建立一个DHCP服务器,这样一来,成本就嘎嘎高,所以,我们通常情况下,都会在整个网络中,部署一个DHCP服务器,有且只有一个,为整个网络中所有部门的DHCP客户端【终端】来分配IP地址。但是,如此一来,DHCP客户端以广播的方式发送DHCP报文,就无法到达DHCP服务器,所以,此时我们需要依靠“DHCP中继”。

所以总结:只有当DHCP客户端和DHCP服务器不在同一网段的时候,才需要中继。并且,在DHCP客户端所在的网段中,只有一种类型的设备,才可以做为中继- - - > “网关”。

DHCP中继

拓扑DHCP 服务器部署_第2张图片

 需求:

如图配置设备接口的IP地址且确保PC可以自动获取IP地址等网络参数。

思路:

  • 配置DHCP客户端Client
  • 配置DHCP服务器Server
  • 配置DHCP中继Relay
  • 配置客户端到中继之间的传输网络- - >交换机
  • 配置中继到服务器之间的传输网络- - >路由器
  • 测试验证

配置命令

DHCP Client - -> DHCP - - >应用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
接下来配置DHCP服务器要
    * 基本配置
    * DHCP enable
    * 接口IP地址并且开启DHCP全局功能
    * 配置用于发给客户端的地址池
DHCP Server
undo terminal monitor
system-view
sysname DHCP Server
dhcp enable
interface g0/0/0
ip address 10.10.10.1 24
dhcp select global 
quit
ip pool vlan10
network 192.168.1.0 mask 24
gateway-list 192.168.1.254 
dns-list 114.114.114.114
lease day 1
quit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置DHCP Eelay 中继
    * 基本配置
    * 接口IP地址
    * 开启DHCP服务
    * 在DHCP客户端所在的网段的网关,也就是192.168.1.0的网关,192.168.1.254在这里开启中继
      并且指定DHCP服务器在哪里
DHCP Relay 
undo terminal monitor
system-view
sysname DHCP Relay 
dhcp enable
interface g0/0/0
ip address 10.10.10.2 24
quit
interface g0/0/1
ip address 192.168.1.254 24
dhcp select relay 
   // DHCP类型设置为中继
dhcp relay server-ip 10.10.10.1 
   // DHCP中继指定DHCP服务器的IP地址是谁
quit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置客户端到中继之间的传输网络
    * 基本配置
    * 创建VLAN并且设置链路类型
LSW1
undo terminal monitor
system-view
sysname LSW1
vlan 10 
quit
port-group group-member g0/0/1 g0/0/2
port link access
port default vlan 10 
quit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
验证:此时,我们使用PC自动获取IP地址
DHCP Client>ipconfig 
这时我们发现获取不到IP地址
PC>ipconfig  /renew

IP Configuration

Can't find DHCP server!  //找不到DHCP服务器  

为什么呢?
原因分析: 
    首先,我们要确定PC  - - > LSW1 - - - > DHCP Relay 是没有问题的,怎么确定呢?
    此时,我们可以给PC设置一个静态IP地址,去ping一下
    PC>ping 192.168.1.254 
    结果:通
    那接下来,我们用PC去访问一下DHCP服务器呗
    PC>ping 10.10.10.1 
    结果:不通
    那么,ping不通DHCP服务器,这属于什么通信故障 - - -> 路由呗
    接下来,我们在用PC去追踪一下10.10.10.1的路由
    PC>tracert 10.10.10.1
    traceroute to 10.10.10.1, 8 hops max
    (ICMP), press Ctrl+C to stop
     1  192.168.1.254   46 ms  110 ms  78 ms
     2    *  *  *
     3    *  *  *
    结果,我们发现路由追踪到了网关后,就没有回应了,我们去排查,是哪里出了问题
    经过我们在DHCP Server Gi0/0/0口抓包,发现DHCP Server是可以收到PC的请求包的
    但是,回不去,为什么呢?我们在DHCP Server上display ip routing-table 192.168.1.0
    经过我们检查DHCP Server的路由表,我们发现没有去往192.168.1.0的路由
解决办法:
    没有就添加呗:
       DHCPServer
           ip route-static 192.168.1.0 24 10.10.10.2 
       此时,我们把PC1设置为DHCP,再次获取IP地址等网络参数
       PC>ipconfig 

Link local IPv6 address...........: fe80::5689:98ff:fe26:61ce
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.253
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.1.254
Physical address..................: 54-89-98-26-61-CE
DNS server........................: 114.114.114.114
此时,PC已经可以获取IP地址啦
那,各位,经过我们的学习,以及实验,我们得到了以下结论:
     1.DHCP动态获取IP地址,是需要客户端到- - - >服务器的通信的畅通的
     2.DHCP动态获取IP地址,如果不在同一网段,是需要中继来转发DHCP报文的

 

 

 

你可能感兴趣的:(服务器,网络,DHCP,linux)