DHCP原理与配置

文章目录

  • 1.动态主机配置协议DHCP
    • 1.1 使用DHCP的好处
    • 1.2 DHCP的分配方式
  • 2.DHCP的租约过程
  • 3.DHCP工作原理
  • 4. 使用DHCP动态配置主机地址
  • 5.实例:DHCP服务器的配置

1.动态主机配置协议DHCP

DHCP原理与配置_第1张图片

1.1 使用DHCP的好处

DHCP原理与配置_第2张图片

1.2 DHCP的分配方式

DHCP原理与配置_第3张图片

注意:服务器使用静态IP地址,不能使用DHCP协议动态获取地址。

2.DHCP的租约过程

DHCP原理与配置_第4张图片

(1)客户机请求IP地址

DHCP原理与配置_第5张图片

(2)服务器响应

DHCP原理与配置_第6张图片

(3)客户机选择IP地址

DHCP原理与配置_第7张图片

(4)服务器确定租约

DHCP原理与配置_第8张图片

(5)重新登录

DHCP原理与配置_第9张图片

(6)更新租约

DHCP原理与配置_第10张图片

3.DHCP工作原理

DHCP的四个过程:

客户端在网络中搜索服务器——发送discover报文

服务器向客户端响应服务——发送offer报文

客户端向目标服务器发出服务请求——发送request报文

服务器向客户端提供服务——发送ack报文

DHCP原理与配置_第11张图片

DHCP自动获取IP地址的工作原理:

第一步:客户端在网络中搜索服务器。

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

第二步:服务器向客户端响应服务。

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

第三步:客户端向服务器发出服务请求。

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

第四步:服务器向客户端提供服务。

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

(5)重新登录

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

(6)更新租约

当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

注意:服务端使用67号端口接收用户发来的DISCOVER报文和REQUEST报文;客户端使用68号端口接收服务器端发来的OFFER报文和ACK报文==。

4. 使用DHCP动态配置主机地址

DHCP原理与配置_第12张图片

[root@clr ~]# systemctl stop firewalld  #临时关闭防火墙
[root@clr ~]# setenforce 0   
[root@clr ~]# mount /dev/sr0 /mnt  #将光盘/dev/sr0挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@clr ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           394M   28K  394M    1% /run/user/0
/dev/sr0        4.4G  4.4G     0  100% /mnt  #新挂载的光盘
[root@clr ~]# cd /mnt/
[root@clr /mnt]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@clr /mnt]# ls Packages/ | grep dhcp  #查询Packages/目录下是否存在dhcp的配置文件
dhcp-4.2.5-82.el7.centos.x86_64.rpm
dhcp-common-4.2.5-82.el7.centos.x86_64.rpm
dhcp-libs-4.2.5-82.el7.centos.x86_64.rpm
[root@clr /mnt]# yum install -y dhcp^C    #k可以直接使用yum install直接安装dhcp服务
[root@clr /mnt]# rpm -ivh Packages/dhcp-4.2.5-82.el7.centos.x86_64.rpm   #使用rpm -ivh安装Packages目录中存在的dhcp安装包
警告:Packages/dhcp-4.2.5-82.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:dhcp-12:4.2.5-82.el7.centos      ################################# [100%]
 
 [root@clr /etc/dhcp]# vim dhcpd.conf   

#   see /usr/share/doc/dhcp*/dhcpd.conf.example #原始的dhcpd.conf配置文件中内容为空,需要将这个文件下面的/usr/share/doc/dhcp*/dhcpd.conf配置文件复制到dhcpd.conf   
[root@clr ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf   #将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example这个文件中的内容复制到/etc/dhcp/dhcpd.conf这个文件中
cp:是否覆盖"/etc/dhcp/dhcpd.conf"yes
[root@clr ~]# vim /etc/dhcp/dhcpd.conf
[root@clr ~]# systemctl start dhcpd    #开启dhcp服务器
[root@clr ~]# netstat -lnup | grep 67    #根据dhcp服务器端口号查看dhcp服务状态
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2829/dhcpd          
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1307/dnsmasq        
[root@clr ~]# netstat -lnup | grep dhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2829/dhcpd      

5.实例:DHCP服务器的配置

实验要求:(1)给DHCP服务器配备两张网卡,ens33:192.168.80.20/24,ens35:12.0.0.20/24;

(2)DHCP服务器实现分别给内网和外网用户动态提供IP地址,内网网段为192.168.80.100——192.168.80.200,外网网段为12.0.0.110——12.0.0.220,并且内网处于VMnet 2,外网处于VMnet 3

(3)DHCP服务器需要给内网特殊用户(myboss)分配长期永久固定地址:192.168.80.188;

实验坏境总结:

服务器 主机CentOS 7-2
内网网卡地址ens33:192.168.80.20/24;外网网卡地址ens36:12.0.0.20/24;
myboss: WIN10 (VMnet 2) 192.168.80.188
内网主机: CentOS 7-3 (VMnet 2)
外网主机: CentOS 7-1 (VMnet 3)

服务器CentOS 7-2命令和服务配置;

[root@clr ~]# systemctl stop firewalld  #临时关闭防火墙
[root@clr ~]# setenforce 0   
[root@clr ~]# mount /dev/sr0 /mnt  #将光盘/dev/sr0挂载到/mnt目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@clr ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           394M   28K  394M    1% /run/user/0
/dev/sr0        4.4G  4.4G     0  100% /mnt  #新挂载的光盘

[root@clr ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.80.20  netmask 255.255.255.0  broadcast 192.168.80.25   #内网网卡地址 192.168.80.20


[root@clr ~]# ifconfig ens35 12.0.0.20/24  #给ens35外网网卡添加IP地址
[root@clr ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.80.20  netmask 255.255.255.0  broadcast 192.168.80.255
       
ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.20  netmask 255.255.255.0  broadcast 12.0.0.255
[root@clr ~]# vim /etc/dhcp/dhcpd.conf
#内网网段声明
subnet 192.168.80.0 netmask 255.255.255.0 {   #声明要分配的网段地址
  range 192.168.80.100 192.168.80.200;    #设置地址池
  option routers 192.168.80.200;    #指定默认网关地址
}
  
#外网网段声明
subnet 12.0.0.0 netmask 255.255.255.0 {  #声明要分配的网段地址
  range 12.0.0.110 12.0.0.220;   #设置地址池
  option routers 12.0.0.254;    #指定默认网关地址
}


#内网host主机声明(给myboss主机分配固定的IP地址)
host myboss {
  hardware ethernet 00:0C:29:86:00:18;
  fixed-address 192.168.80.188;
}                                                   

在CentOS 7-2服务器上抓包,查看DHCP的工作过程;

DHCP原理与配置_第13张图片

外网主机 CentOS 7-1命令和服务配置如下所示:(处于VMnet 3)

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  #修改外网网卡ens33的网卡配置,

DHCP原理与配置_第14张图片

将外网主机放置到VMnet 3中;

DHCP原理与配置_第15张图片

[root@clr ~]#  systemctl stop firewalld
[root@clr ~]# setenforce 0    #临时关闭防火墙
[root@localhost ~]# systemctl restart network   #重新刷新网卡
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1280
        inet 12.0.0.112  netmask 255.255.255.0  broadcast 12.0.0.255  #IP地址12.0.0.112通过DHCP服务器获得的动态地址
        inet6 fe80::c09c:2b7e:80e9:eb2c  prefixlen 64  scopeid 0x20<link>

内网主机 CentOS 7-3命令和服务配置如下所示:(处于VMnet 2)

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  #修改外网网卡ens33的网卡配置,

DHCP原理与配置_第16张图片

将内网主机放置到VMnet 2中;

DHCP原理与配置_第17张图片

[root@clr ~]#  systemctl stop firewalld
[root@clr ~]# setenforce 0    #临时关闭防火墙
[root@myhost2 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.80.157  netmask 255.255.255.0   #内网主机通过DHCP服务器获得的IP地址192.168.80.157 

myboss主机WIN 10的命令和服务配置如下所示:(处于VMnet 2)

取消原有的ip地址,并在网络连接中设置为自动获得IP地址;

DHCP原理与配置_第18张图片

将内网主机放置到VMnet 2中;

DHCP原理与配置_第19张图片

查看获取到的IP地址:WIN 10主机为指定IP地址192.168.80.188的myboss主机;

DHCP原理与配置_第20张图片

DHCP原理与配置_第21张图片

你可能感兴趣的:(Linux,网络,服务器,tcp/ip,linux,运维)