您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页DHCP服务详解(原理+搭建)

DHCP服务详解(原理+搭建)

来源:欧得旅游网

详解DNS服务的搭建与解析

参考阅读

之前写过一个Red Hat7.2下DNS服务的搭建,文章总体来说介绍比较详细,但是理论过多,没有对真实的场景进行应用;此篇算是一个归纳汇总

前言

​ DHCP(Dynamic Host Configuration Protocol,动态主机配置协议 )是一个局域网的网络协议,它主要是通过客户端发送广播数据包给整个物理网段内的所有主机,若局域网内有DHCP服务器时,才会响应客户端的IP参数要求

一、工作原理

总体分为租约续租两个方面

1.1 租约四部曲

四个数据包

客户端 Discover、Request
服务端 Offer、Ack

工作过程简单解释

1、首先,客户端向DHCP服务器发送一个DHCPdiscover的报文(广播发送,可以理解为海投简历)

2、服务器端对客户端回应DHCPoffer (单播回应,可以理解为企业提供offer)

3、客户端向服务器发送DHCPrequest(广播发送,可以理解为告诉那些收到我的简历的企业,我不去你们那里)

4、服务器端向客户端回复一个DHCPack(单播回应,可以理解为企业与求职者的确认关系)

总结:
客户端发送的报文都是广播包,第一次的广播是为了让所有的企业看到自己,第二次广播是为了告诉其他企业自己已签到offer

​ 由于目前的DHCP客户端程序大多数会主动依据租约时间去重新申请IP,所以即使有租约期限,也不需要在某个时间点手动去重新申请IP。一般情况下,假设租约时间是T小时,那么客户端程序在0.5T时会主动向DHCP服务器发出重新要求网络参数的数据包。如果这次数据包请求没有成功,那么在0.875T后还会再次发送数据包一次。

正因如此,所以服务器端会启动port67监听客户端请求,而客户端会启动port68主动向服务器请求。

1.2 续租

情景:

二、DHCP服务器的搭建

关于DHCP服务器的搭建总体分为以下几个步骤

1、关闭虚拟机中自带的DHCP功能;关闭防火墙;关闭SELinux
2、挂载光盘、配置yum源
3、使用yum安装软件
3、修改配置文件
4、启动服务进行测试

2.1 配置文件

在说配置文件之前,先看看软件的安装

注意:当软件安装后,主配置文件中默认是没有内容的

主配置文件

/etc/dhcp/dhcpd.conf

模板配置文件

/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

中继配置文件

/etc/sysconfig/dhcrelay

关于配置文件中需要修改的内容进行解释

subnet192.168.10.0 netmask 255.255.255.0 {	#声明要分配的网段和子网掩码
range 192.168.10.3 192.168.10.2;			#声明可用IP地址池
option domain-name "yichen.com";			#设置DNS域
option domain-name-servers 8.8.8.8 ;		#设置DNS服务器地址
option routers 192.168.10.2;				#默认网关的地址
option broadcast-address 192.168.10.255;	#广播地址(可不写)
default-lease-time 600;						#默认租约(s)
max-lease-time 7200;						#最大租约(s)
}

一点说明:

2.2 搭建步骤

下面将根据三个真实的实验环境中对DHCP的搭建做一个详细的说明与配置

【基础—IP池/固定IP】

实验环境

Centos 6.8两台 分别为DHCP Server、Client
网络模式均为仅主机模式,用到的网卡是自定义的VM10

实验设计

详细步骤

1、首先关闭虚拟机自带的DHCP功能;防火墙、SENLinux

service iptables stop
setenforce 0

2、安装软件

yum -y install dhcp dhcp-common

3、修改主配置文件

  • 先将模板文件复制成主配置文件

  • 然后修改主配置文件中的内容,并备份

    cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
    cp -a /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
    

4、修改主配置文件中的内容;删除或注释掉其他不需要的subnet,配置需要的subnet

5、重启服务后测试

[root@localhost ~]# service dhcpd restart
关闭 dhcpd:                                               [确定]
正在启动 dhcpd:                                           [确定]

在服务器上检查日志文件

简单解释一下


对于固定IP的配置其实就是修改主配置文件中的内容即可

需求:如果一个客户端不想在IP池中被分配IP,而是想要一个固定的IP

步骤:


2、修改DHCP服务器的主配置文件

hardware ethernet 后书写网卡的MAC地址
fixed-address 后书写想要分配的固定IP;可以是IP池的也可以是池外的,但一定要在DHCP能力范围内的

3、重启服务测试即可;可见与预期一致

[root@localhost ~]# service dhcpd restart
关闭 dhcpd:                                               [确定]
正在启动 dhcpd:                                           [确定]

【进阶—超级作用域】

场景:C段网络中只可以容纳253台主机,而我的需求比这个还大时就需要扩大DHCP服务器对这个网段的作用域;前提是网段不变,要是能用B段的直接用就行了,不存在扩大作用域的说法

目的:为不同段的网络做DHCP功能

实验环境

Centos 6.8三台 分别为DHCP Server、Client1、Client2
网络模式均为仅主机模式,用到的网卡是自定义的VM10

实验设计

实验步骤

1、关闭防火墙、Senlinux、虚拟机的网卡这几步跟第一个实验相同

2、在DHCP服务器上开启子网卡;复制网卡的配置文件即可

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-eth1    ifdown-ib    ifdown-routes  ifup-eth   ifup-plusb   ifup-wireless
ifcfg-eth1:1  ifdown-ippp  ifdown-sit     ifup-ib    ifup-post    init.ipv6-global
ifcfg-lo      ifdown-ipv6  ifdown-tunnel  ifup-ippp  ifup-ppp     net.hotplug
ifdown        ifdown-isdn  ifup           ifup-ipv6  ifup-routes  network-functions
ifdown-bnep   ifdown-post  ifup-aliases   ifup-isdn  ifup-sit     network-functions-ipv6
ifdown-eth    ifdown-ppp   ifup-bnep      ifup-plip  ifup-tunnel
[root@localhost network-scripts]#

在子网卡的配置文件中,不需要删除MAC、UID,因为这是一个子网卡,只需修改一下IP即可

开启DHCP服务器的路由转发功能并使其生效

[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
[root@localhost ~]# 

3、修改主配置文件

删除或注释掉其他不需要的subnet;shared-network后的 10-20自定义即可

4、重启服务后,使用两个客户机进行测试,可见与预期相符,分别分配到了10和20段的IP


【高级—DHCP中继】

DHCP中继被称为DHCP Relay;是为了实现不同子网和物理网段之间处理和转发dhcp信息

实验环境

Centos 6.8四台 分别为DHCP Server、DHCP中继、Client1、Client2 
网络模式均为仅主机模式,用到的网卡是自定义的VM10

注意,使用两个客户机来代称一类客户机

实验设计

实验步骤

0、对于网卡的配置与设置,自定义网卡即可,不做过多赘述

1、关闭防火墙、SELinux、虚拟机的DHCP功能

3、安装软件、修改主配置文件

yum -y install dhcp

主配置文件中对于不需要的subnet删除或注释即可;然后配置所需的subnet

重启服务

[root@localhost ~]# service dhcpd restart
正在启动 dhcpd:                                           [确定]

4、配置DHCP中继服务器

  • 配置网卡

    eth0:192.168.10.20
    eth1:100.100.100.20
    
  • 安装软件

    yum -y install dhcp
    
  • 修改主配置文件

    vim /etc/sysconfig/dhcrelay
    将自己的两个网卡接口与DHCP服务器的IP地址标明
    

  • 开启路由转发并使其生效

    [root@localhost ~]# vim /etc/sysctl.conf 
    [root@localhost ~]# sysctl -p
    net.ipv4.ip_forward = 1
    
  • 开启中继服务

    [root@localhost ~]# service dhcrelay start
    正在启动 dhcrelay:                                        [确定]
    

5、客户端进行测试

VM10的客户机

VM7的客户机

可见,与预期相符


2.3 总结

  • 根据不同的DHCP域的需求来部署配置不同的DHCP服务器

  • 扩大作用域与否要针对客户机是否在一个子网中

  • 关于DHCP的攻击与防护如下


因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务