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

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的原理(知道网络出错在哪个环节)以及一些基本生产环境的实验搭建。浏览不易,感谢三连。

猜你喜欢

转载自blog.csdn.net/weixin_47678667/article/details/109044108