DHCP原理及服务器搭建详解

一.引子:

DHCP在网络中的作用非常重要,简单来说就像给每台服务器配身份证的机构,你有合格的身份才能做合格的事情,要不然连火车都坐不了。服务器只有被DHCP服务配置了IP才能够在公网中进行活动。

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做"双机热备"的。

二.DHCP基本概念及工作原理

DHCP:Dynamic Host Configuration Protocol
IP地址:在网络中充当地址和身份

  1. DHCP概念
    (1) DHCP服务作用
    ① 为大量客户机自动分配地址,提供集中管理
    ② 减轻管理和维护成本,提高网络配置效率
  2. DHCP可分配的信息主要包括:
    (1) 网卡的IP地址,子网掩码
    (2) 对应的网络地址,广播地址
    (3) 默认网关地址
    (4) DNS服务器地址
    (5) 引导文件,TFTP
  3. DHCP工作原理(广播域)
    (1).C 向当前广播域中广播 discover 包,0.0.0.0 255.255.255.255
    C端发送广播原理 网卡:rom非易失性存储器(断电保存)如dhcp client,pxe客户端
    (2).S 接受数据报文,并且回送 offer 包,offer 记录了基本的 IP 信息
    a 、通过 C MAC 将数据报文发送至 C
    b、S 怎么知道什么 IP 是可用的?
    通过 ICMP 协议测试:ping命令
    (3).C 接受到 offer 报文,开始测试 IP 是否可用,如果接受到多个 offer 报文,只用第一个
    a.C 怎么知道这个地址是否可用?
    基于 ARP 协议:
    (4).IP 地址可用性检测
    a、如果 IP 可用,发送 request 报文,目标地址 255.255.255.255
    通知c选择的 s 准备下一阶段的数据包
    通知c没有选择的 s ,我名花有主啦
    b、如果 IP 不可用,发送 Discover 报文
    (5)、S 接受到 C request,准备 ACK 报文,ACK 包含详细地址信息 IP 、netmask、gateway、租约,ACK 报文发送给 C 的方式 依然用的是 C MAC
    a. 租约续租50%
    b.75%dhcp服务器没有回复信息,更换dhcp服务器
    (6).C 接受 ACK 报文,配置 IP 地址

三.DHCP配置文件详解及DHCP服务器搭建(基础搭建,固定IP,超级作用域,中继服务)

  1. DHCP相关服务软件包
    (1) RHEL6的DHCP软件包
    ① dhcp-4.1.1-34.PL.e16.x86.rpm
  2. DHCP 配置文件解析
    (1) DHCP的相关配置
    ① 端口号:ipv4 udp67 udp68
    ② 服务名:dhcpd dhcrelay
    ③ 主配置文件:/etc/dhcp/dhcpd.conf
    ④ 模板文件:/usr/share/doc/dhcp-4.1.1/dhcp.conf.sample
    ⑤ 中继配置文件:/etc/sysconfig/dhrelay
  3. 实验搭建(基础搭建,固定IP地址,超级作用域,DHCP中继服务)
    实验1:搭建简单的DHCP服务器
    1). yum -y install dhcp
    2). vim /etc/dhcp/dhcpd.conf
    3). cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
    4).cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
    5).vim /etc/dhcp/dhcpd.conf
    6).实验1:subnet配置DHCP
    a. 配置文件中subnet留下一个最复杂的(subnet过多没有意义,只会使用第一个)
    b. subnet 当前网段(192.168.26.0) netmask 255.255.255.0
    i. 局部声明与全局声明,局部声明优先级更高
    c. 分配范围:192.168.26.11 192.268.26.11
    d. option domain-name-service 114.114.114.114, 8.8.8.8(逗号分割)
    i. DHCP 遇到问题:查看日志:vim /var/log/messages
    e. 网关:option routers 192.168.26.1
    f. 将局部声明的其他行全部删除
    g. service dhcpd start
    h. chkconfig dhcpd on(永久关闭DHCP连接)
    i. 设置dhcp动态获取
    j. vim /etc/sysconfig/network-scripts/ifcfg-eth0
    k. 关闭IP和子网掩码,将工作方式改为dhcp
    l. 重启网卡生效
    m. service dhcpd restart
    n. 查看日志:tailf /var/log/messages
    实验2:固定IP地址DHCP服务器搭建
    1.pc:打印机(网络)地址保留:12每次都可以获得固定IP
    2.实验:每次打印机都可以获取到固定的IP
  • 1)获取打印机的mac地址
  • 2) 11ping 192.168.66.12 & arp -n
  • 3) 11vim /etc/dhcp/dhcp.conf
  • 4) 11 host fantasiia
    a ping 192.168.26.12 复制mac物理地址(mac物理地址获取)
    b. fixed-address 192.168.26.200(排除range地址)
    c. 多个地址保留:复制上述内容修改
    d. service dhcpd restart
    e. 22service network restart
    f. 22ifconfig
    实验3:DHCP超级作用域
    (2) 分配两个网段(超级作用域:解决同一个广播域地址不够用的问题)(subnet只识别第一个区域)
    ① share-network
    a. 两个网段进行分配,将subnet删掉(内容与subnet配置一致)
    b. 删除subnet全部删除
    c. 删除loop区域,或者将loop区域注释掉
    d. 将获取过IP的恢复快照,并重启网卡
    实验4:DHCP中继服务
    1.DHCP 中继服务原理:跨广播域的地址分配(注意虚拟机的虚拟网卡的连接和配置以及路由器和DHCP服务器的配置)
    2.DHCP中继服务实验搭建
    试验机:四台c6
    代表服务:11:DHCP同广播域测试机 12;DHCP 13:路由器 14:不同广播域的测试机(网卡设置为DHCP)
    网卡配置:11,12,14vmnet1,13.14vmnet2
    1). 12DHCP服务器:虚拟机网络编辑器-网络适配器-自定义特定虚拟网络-设置为vmnet1(网络不需要配置)
    问题:没有两个仅主机模式:虚拟机网络编辑器-更改设置-添加网络-修改为仅主机模式-关掉DHCP服务器
    2). 11测试机:网卡设置为vmnet1
    3).13两张网卡(模拟路由器):第一张网卡设置为vmnet1,第二张网卡设置为vmnet2
    4.).14:测试机:网卡设置为vmnet2
    5).配置13(路由器)文件
    (1) 配置两块网卡文件(配置第二张网卡):vim /etc/sysconfig/network-scripts/ifcfg-eth1 IP设置20.20.20.12 NETMASK:255.255.255.0(重启网卡)
    (2) 开启路由转发功能:vim /etc/sysctl.conf
    ① 将配置文件中的:net.ipv4.ip_forward=0修改为=1
    ② 13刷新路由转发功能:sysctl -p
    ③ 12配置路由网关(指定网关:将DHCP服务器网关指定向路由器):echo “GATEWAY=192.168.6.12”>>/etc/sysconfig/network-scripts/ifcfg-eth0
    ④ 12重启网卡生效:service network restart
    ⑤ 12a查看网关是否生效:route -n

    6).12配置12DHCP中继服务
    (1) 12yum -y install dhcp
    (2) 12cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
    (3) 12vim /etc/dhcp/dhcp.conf
    (4) 12只保留一个复杂subnet区域(此处有两个广播域)
    ① 配置地址池:192.168.26.0
    ② 第二个subnet再配置第二个广播域的subnet区域20.20.20.0
    (5) 12开启dhcp服务:service dhcpd start&chkconfig dhcpd on
    7). 13配置dhcp中继服务
    ① yum -y install dhcp(第二个dhcp软件包)
    ② vim /etc/sysconfig/dhcrelay
    INTERFACES=”eth0 eth1”
    DHCPSERVERS=”192.168.26.12”(指向DHCP服务器)
    (8) 开启中继服务:service dhcrelay restart
    (9) 测试两台测试机是否能够获取IP (同(5))
    (10). 配置测试机的网卡为DHCP

DHCP是整个网络服务的基础,在我们生产环境中网络都不畅通,更别说做什么其他的事情了。笔者想通过此篇内容让大家了解DHCP的原理(知道网络出错在哪个环节)以及一些基本生产环境的实验搭建。浏览不易,感谢三连。

DHCP原理及服务器搭建详解(固定IP地址,DHCP中继服务)相关推荐

  1. linux下ftp服务器搭建详解

    总体搭建流程: 1.安装vsftpd 2.配置vsftpd.conf配置文件 3.启动vsftpd服务器(安装完后默认是启动的) 4.客户端发起连接 5.传递数据(上传,下载) 6.关闭连接 详解 1 ...

  2. 关于windows server 2003 web服务器搭建详解(内涵步骤)

    关于windows server 2003 web服务器搭建 实验环境:windows server 2003(设置两个网卡),win 7或xp系统,都在同一网段下测试 我的服务器和客户机均为NAT模 ...

  3. ip地址详解,ip地址各种写法的意义,私有局域网搭建(IPv4)

    2019独角兽企业重金招聘Python工程师标准>>> IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Addre ...

  4. SVN服务器搭建详解

    1 SVN简介: Subversion是一款自由开放的版本控制软件.Subversion可以管理文件.文件夹以及记录它们的修改状 况.Subversion常用来帮助我们管理软件开发的源代码或是公司手册 ...

  5. 流媒体服务器搭建详解

    1 安装nginx 要增加nginx-rtmp-module的支持  下载好nginx-rtmp-module后解压,然后nginx安装时增加这个模块(--add-module) ./configur ...

  6. 详解:IP地址132.119.100.200的子网掩码是255.255.255.240,那么它所在子网的广播地址是(132.119.100.207)

    求子网掩码的步骤: 1.将ip地址和子网掩码转换成2进制,子网掩码连续全1的是网络地址,后面的是主机地址 2.IP地址和子网掩码进行与运算 3.将运算结果中的网络地址不变,主机地址变为1,结果就是广播 ...

  7. Windows 网络服务架构系列课程详解(一) ----DHCP服务器的搭建与配置

    Windows 网络服务架构系列课程详解(一) ---------DHCP服务器的搭建与配置   实验背景: 企业网络环境中在没有配置DHCP服务器时,经常会遇到这样的情况,用户不懂怎么去配置IP地址 ...

  8. 虚拟机2012搭建DNS服务器,Windows Server2012 安装配置DNS服务器方法详解

    Windows Server2012 安装配置DNS服务器方法详解 在云服务器 Windows Server2012 上安装配置DNS服务器方法,安装与配置非常简单,在这里写个完整教程方便大家查询 一 ...

  9. OpenStack Queens版搭建详解

    目录 OpenStack Queens版搭建详解 1.基础环境配置 1.2 节点网络规划 1.3 关闭防火墙 1.4 配置yum源 1.5 配置节点IP 1.6 配置主机名 1.7 配置主机名解析(h ...

最新文章

  1. 哔哩哔哩服务器在哪个文件夹,哔哩哔哩缓存在哪个文件夹 具体操作步骤
  2. dedecms arclist中截取字符串的方法
  3. dump mysql database_【MySQL Database】数据迁移工具:mysqldump
  4. Python编程4道练习题
  5. android之inflater用法
  6. LINUX安装ORACLE 9204 报错解决!!
  7. 【转】如何在eclipse下配置Heritrix
  8. qtvs添加qchart_如何使用Qt Designer在表单中插入QChartView?
  9. ELMo ,LM:一串词序列的概率分布probability distribution over sequences of words
  10. windows环境下创建多个Redis实例
  11. 【web前端期末大作业】html网上在线书城大学生静态网页 大学生html当当书城仿站 网上书城购物网页作业HTML
  12. c语言次方函数,C 求n次方函数
  13. (Spline)三次样条求解
  14. 今天正式开始做毕业设计——自助装机系统
  15. 刚开始参加工作的45条建议
  16. 今日头条有麻烦了!App 被下架
  17. python timeit.timer_python之timeit模块
  18. 手势识别(一) - 项目概述与简单应用介绍
  19. UTools工具下载网址
  20. xp安装64位vista_在64位Windows Vista上安装iTunes 7

热门文章

  1. 数字化转型, ERP加速衰落 or 激流勇进?
  2. okhttp3源码初探
  3. 【财富空间】人品,是最好的底牌
  4. matlab dpm目标检测,车辆目标检测
  5. 【QML】Attached Properties 附加属性
  6. LeetCode第78题解析
  7. 实战揭露360和QQ医生系统漏洞检测真相!
  8. [tensorflow] 线性回归模型实现
  9. java 导入excel工具类_java Excel工具类,导入导出Excel数据
  10. 通信网络与IP网络知识梳理