暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

原创|NO.A.0004|网络服务|——|DHCP服务|DHCP租约四部曲|DHCP固定地址|DHCP超级作用域|DHCP中继|

Java BBS 2021-03-16
530

一、DHCP简介

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个工作在应用层局域网网络协议,数据传输时使用UDP不可靠传输协议工作,通常被应用在大型的局域网络环境中,主要作用是集中的管理,分配网络资源,使用环境中的主机能动态的获得IP地址Gateway地址DNS服务器地址等信息,并能够提升地址的使用率

  • 在家庭环境,办公环境,机房都会使用。

二、DHCP工作原理(租约四部曲+续租)

  • 广播请求:DHCP Client向DHCP Server发起请求DHCP Discover:IP请求过程,找到对应的DHCP Server服务器

  • 反馈:DHCP Server向DCHP Client回复DHCP Offer:可用IP地址;谁发给它的最快就使用哪个。DHCP Client判断哪一个最快就说明那一台DHCP Server和它之间的距离,网络状态更好一点。所以会接第一个。方便后期租期的续租。

  • 确认:DHCP Client向DHCP Server发相应确认信息DHCP Request,告诉DHCP Server这个IP地址我要使用,

  • 反馈:第一种情况:DHCP Server收到DHCP Client客户端要使用该IP的信息之后,反馈确认信息DHCP ACK:建立租约。

  • 反馈:第二种情况:DHCP Client向DHCP Server发送DHCP Request确认信息时,这个地址已经被其它主机已经使用上了;DHCP Server就会向DHCP Client反馈DHCP NAK(NACK)拒绝把资源租给DHCP Client的模式;若是不建立租约;再从头重新建立租约关系。

1、DHCP客户端进行IP请求

  • 当一个DHCP客户机启动时,会自动将自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP服务器来获取一个合法的地址,由于客户机不知道DHCP服务器的IP地址,所以它使用0.0.0.0的地址作为源地址,使用255.255.255.255(局域网内能够实用的任意IP地址)作为目标地址,使用UDP 67端口作为目的的端口来广播请求IP地址信息。广播信息DHCP Discover中包含了DHCP客户机的MAC地址和计算机名,以便使用DHCP服务能确定是哪个客户机发送的请求。

  • DHCP Client发起广播;虽然是广播,但是不是所有主机都会接受到数据,只有DHCP Server含有67端口的才会响应,其它主机不会受到影响。

2、DHCP服务响应请求

  • 当DHCP服务接收到客户机请求IP地址的信息时,他就在自己的IP地址池(合法的/可用的地址)中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCP OFFER的消息中,然后DHCP服务器就广播一则包括下列信息的DHCP OFFER消息。

  • DHCP客户机的MAC地址,DHCP服务器提供的合法IP地址,子网掩码:默认网关(路由)租约的期限,DHCP服务器的IP地址-MAC

  • 因为DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP地址作为源地址,使用255.255.255.255作为目标地址,使用UDP 68端口作为源端口来广播DHCP OFFER信息

3、DHCP客户机选择IP

  • DHCP客户机从接受到的第一个DHCP OFFER消息中选择IP地址,发出IP地址DHCP服务器将该地址保留,这样改地址就不能提供给另一个DHCP客户机,当客户机从第一个DHCP服务器接受DHCP OFFER并选择IP地址后,DHCP租约的第三过程发生。客户机将DHCP REQUEST消息广播到所有的DHCP服务器,表明它接收提供的内容。DHCP REQUEST消息包括为该客户机提供IP配置的服务器的服务表示(IP地址)DHCP服务器查看服务器表示符字段,以确定它自己是否被选择为指定的客户机提供IP地址,如果那些DHCP OFFER被拒绝,则DHCP服务器会取消并保留其IP地址以用于下一个IP租约请求。

  • 在客户机选择IP的过程中,虽然客户机选择了IP地址,但是还没有配置IP地址,而在一个网络可能有几个DHCP服务器,所以客户机仍然使用0.0.0.0的地址作为源地址,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播DHCP REQUEST信息。

4、DHCP服务器确认租约

  • 服务器确认租约:DHCP ACK:DHCP服务器接受到DHCP REQUEST消息后,以DHCPACK消息的形式向客户机广播成功的确认,该消息包含有IP地址的有效租约和其他坑你配置的信息。虽然服务器确认了客户机的租约请求,但是客户机还没有收到服务器的DHCPACK消息,所以服务器仍然使用自己的IP地址作为源地址,使用255.255.255.255作为目标地址,使用UDP 68端口作为源端口来广播DHCP ACK信息,当客户机收到DHCP ACK消息时,它就配置了IP地址,完成了TCP/IP的初始化。

  • 服务器拒绝租约:DHCP NACK (DHCP NAK)

  • 如果DHCP REQUEST不成功,例如客户机试图租约先前的IP地址,但该IP地址不再可用,或者因为客户机移到其它子网,该IP无效时,DHCP服务器将广播否定确认消息DHCP NACK,当客户接收到不成功的确认时,它将重新开始DHCP租约过程。

  • 注:

  1. 如果DHCP客户机无法找到DHCP服务器,它将从TCP/IP的B类网段169.254.0.0/16中挑选一个IP地址作为自己的IP地址,继续每个5分钟尝试与DHCP服务器进行通讯,一旦与DHCP服务取得联系,则客户机放弃自动配置的IP地址,而使用DHCP服务器分配的IP地址。

  2. DHCP客户机收到DHCP服务器回应的ACK报文后,通过地址冲突检测(ARP)发现服务器分配的地址冲突或者由于其它原因导致不能使用。则发送DECLINB报文,通知服务器所分配的IP地址不可用。

5、DHCP客户机续租:


  • DHCP客户机会在租期过去50%的时候,直接向为其提供IP地址服务器发送DHCP REQUEST消息包,如果客户机接收到该服务器回应的DHCP ACK消息包,客户机就根据包中所提供的新的及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。如果没有收到该服务器的回复。则客户机继续使用现有的IP地址,因为当前租期还没有50%

  • 如果在租期过去50%的时候没有更新,则DHCP客户机将在租期过去87.5%的时候再次向为其提供IP地址的DHCP服务器联系,如果还不成功,到租约的100%时候,DHCP客户机必须放弃这个IP地址,重新申请,如果此时无DHCP服务器可用,DHCP客户机会使用169.254.0.0/16中随机的一个地址,并且每隔5分钟再进行尝试。

三、DHCP服务搭建

1、准备实验环境

  • 两台机器;网络连接模式设为自定义VMnet+模式

  • 防护的关闭:

  1. iptables —L                        //防火墙

  2. gerenforce                         //selinux

  3. 关闭VMware虚拟网络编辑器的DHCP功能,切记。在vmware:默认租约是30分钟,最长租约是2小时。

——>实验专题,环境检查<——

1、DHCP配置

//实验环境:
centos6.x-server1:server:20.20.20.21 192.168.1.21
centos6.x-server2:client:20.20.20.22 192.168.1.22 随便dhcp分配IP地址
centos6.x-server3:client:20.20.20.23 192.168.1.23 固定dhcp分配IP地址
//1、检查环境
[root@server21 ~]# getenforce
Disabled
[root@server21 ~]# service iptables status
iptables: Firewall is not running.
[root@server21 ~]# iptables -L //默认清空是未启动的
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
//2、检查dhcp和dhcp-common是否安装
[root@server21 ~]# rpm -q dhcp
package dhcp is not installed
[root@server21 ~]# rpm -q dhcp-common
dhcp-common-4.1.1-51.P1.el6.centos.x86_64
//3、yum源设置

2、DHCP安装及配置文件解释说明

//3、安装dhcp
[root@server21 ~]# yum install -y dhcp //dhcp是向外租赁资源的服务,dhcp需要把资源写入配置文件后才可以启动,没有写入配置文件资源,是启动不成功的。
[root@server21 ~]# cat /etc/dhcp/dhcpd.conf //dhcp的配置文件
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample //去看/usr/share/doc/dhcp下的某一个目录下有一个文件是dhcpd.conf.sample .sample是模板文件,默认是不生效的。作为备用的文件。
# see 'man 5 dhcpd.conf' //查看帮助的命令。man 5的级别,就是帮你来解释说明配置你文件的说明
[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf //将母版配置文件复制到dhcp的配置文件出,覆盖
[root@server21 ~]# ll /etc/sysconfig/dhcrelay //中继配置文件

3、DHCP配置文件详解

//1、DHCP的分为两种:全局配置和局部配置
[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200; //以上四条是全部重复的,
log-facility local7; //日志保存的设备;日志保存到/var/log/masage这个文件
subnet 10.152.187.0 netmask 255.255.255.0 { //subnet是一个一个资源池
}
host passacaglia { //给某一台指定的主机设定一个固定的IP地址
hardware ethernet 0:0:c0:5d:bd:95;
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
}
class "foo" { //超级作用域的配置
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
//subnet配置说明
subnet 192.168.88.0 netmask 255.255.255.0 { //声明要分配的网段和子网掩码;dhcp配置文件中subnet下至少有一个声明是当前主机所使用的网段。
range 192.168.88.3 192.168.88.254; //什么可用IP地址池;range是声明可对外分配的IP地址范围,我们说明是IP地址池。
option domain-name :atguigu.com"; //设置DNS域
option domain-name-server 8.8.8.8; //设置DNS服务器地址;若是不分配DNS地址只能在局域网内使用,若是给了DNS地址,就可以进行域名解析,就可以在互联网上通信
option routers 192.168.88.2; //默认网关地址;设置正确的网关。最好跟NAT地址(桥接地址)匹配一直,
option broadcast-address 192.168.88.255; //广播地址(可不写)
default-lease-time 600; //默认租约(S)
max-lease-time 7200; //最大租约(s)
}

DHCP实验部署

1、DHCP基本功能实验

//1、生成配置文件
[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
//2、修改配置文件
//将配置文件的前几个subnet什么注释掉,修改最后一个subner声明
//注:注意配置文件中每行结尾的分号和结束大括号,谢谢!
[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
//3、重启服务
service dhcpd start
[root@server21 ~]# netstat -tlun
udp 0 0 0.0.0.0:67 0.0.0.0:*
//5、验证
[root@server22 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //注销网卡设置
ONBOOT=yes
BOOTPROTO=dhcp
[root@server22 ~]# ifdown eth0;ifup eth0 //重启指定网卡,生产环境中不建议使用service,全局使用
[root@server22 ~]# ip addr
eth0: inet 192.168.1.103/24 //获取有效的IP地址
[root@server22 ~]# tail -10 /var/log/messages //查看日志租约四部曲
Feb 2 02:50:47 localhost dhclient[6424]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 (xid=0x108757ee //DHCPDISCOVER发起一个请求,来自于哪里)
Feb 2 02:50:47 localhost dhclient[6424]: DHCPOFFER from 192.168.1.1 //DHCPOFFER
Feb 2 02:50:47 localhost dhclient[6424]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x108757ee) //DHCPREQUEST
Feb 2 02:50:47 localhost dhclient[6424]: DHCPACK from 192.168.1.1 (xid=0x108757ee) //DHCPACK
Feb 2 02:50:49 localhost NET[6475]: /sbin/dhclient-script : updated /etc/resolv.conf
Feb 2 02:50:50 localhost dhclient[6424]: bound to 192.168.188 -- renewal in 2731 seconds.

2、保留地址(固定地址分配)

//5.1、获取客户端的Mac地址
[root@server22 ~]# arp -a //查看客户机的Mac地址
? (192.168.1.1) at 50:3a:a0:4b:78:ec [ether] on eth0
//5.2、修改/etc/dhcp/dhcpd.conf文件
[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
host fantasia {
hardware ethernet 50:3a:a0:4b:78:ec; //客户机的Mac地址
fixed-address 192.168.1.88; //配置地址池以外的IP地址;//固定分配给客户机的IP地址(可以使用地址池以外的IP)
}
//5.3、重启DHCP服务
[root@server21 ~]# service dhcpd restart
//5.4、重启客户机网卡验证IP获取是否成功
//修改客户端网卡配置
[root@server23 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
ifdown eth0; ifup eth0
[root@server23 ~]# ifdown eth0;ifup eth0
//验证
[root@server23 ~]# ifdown eth0;ifup eth0
[root@server23 ~]# ip addr
2: eth0:inet 192.168.1.88/24
[root@server23 ~]# tail -6 /var/log/messages
Feb 2 01:46:38 localhost kernel: e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Feb 2 01:46:38 localhost kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Feb 2 01:46:40 localhost dhclient[3324]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x22ec641b)
Feb 2 01:46:40 localhost dhclient[3324]: DHCPACK from 192.168.1.1 (xid=0x22ec641b)
Feb 2 01:46:42 localhost NET[3375]: /sbin/dhclient-script : updated /etc/resolv.conf
Feb 2 01:46:42 localhost dhclient[3324]: bound to 192.168.1.88 -- renewal in 3331 seconds.
[root@server23 ~]# vim /var/log/messages //验证发生了续租
Feb 2 03:15:24 localhost dhcpd: DHCPACK on 192.168.1.104 to 08:00:27:e1:56:1a (localhost) via eth0
Feb 2 03:18:59 localhost dhcpd: DHCPREQUEST for 192.168.1.88 from 54:35:30:62:8c:71 (DESKTOP-MTTRBER) via eth0

3、超级作用域(同一网络域)

3.1、超级作用域介绍

  • DHCP服务器可为单个物理网络上的客户端提供多个作用域租约地址

3.2、实验环境准备

  • 三台虚拟机同一网络模式,一个DHCP服务器,两个客户机

3.3、实验步骤

//客户端设置为DHCP网卡
[root@server22 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@server22 ~]# ifdown eth0
[root@server23 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
[root@server23 ~]# ifdown eth0
[root@server21 ~]# yum install -y dhcp
//1、设置DHCP服务器的单臂路由所需子网卡
[root@server21 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
[root@server21 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
IPADDR=192.168.2.21
[root@server21 ~]# ifup eth0:0
[root@server21 ~]# ip addr
2: eth0:
inet 192.168.1.21/24 brd 192.168.1.255 scope global eth0
inet 192.168.2.21/24 brd 192.168.2.255 scope global eth0:0
//2、开启路由转发
[root@server21 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@server21 ~]# sysctl -p //刷新内核参数配置文件
net.ipv4.ip_forward = 1
//3、修改/etc/dhcp/dhcpd.conf文件 //之前的网段声明和主机声明全部注释掉!
[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 1-2 { //所使用网段的地址192.168.1.21 192.168.2.21
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.21;
range 192.168.1.100 192.168.1.100; //因为我们需要验证第一个网段不够用的时候,再去分配下一个地址,设置一个来获取验证。
}
subnet 192.168.2.0 netmask 255.255.255.0 { //摄于内容注释掉或者删除掉,切记别拉下括号
option routers 192.168.2.21;
range 192.168.2.100 192.168.2.200;
}
}
//4、重启DHCP服务
[root@server21 ~]# service dhcpd restart
//5、分别重启两台机器的网卡,查看获取的地址
[root@server22 ~]# ifup eth0
[root@server22 ~]# ip addr
2: eth0:inet 192.168.1.100/24 //获取到的地址是192.168.1.103
[root@server23 ~]# ifup eth0
[root@server23 ~]# ip addr
2: eth0: 192.168.2.100/24
[root@server22 ~]# ping 192.168.2.100 //这两个客户机之间ping是可以正常通信的,

4、DHCP中继

4.1、DHCP中继介绍:DHCP Relay(DHCPR)DHCP中继是一个小程序,可以实现在不同和物理网段之间处理和转发DHCP信息的功能。

4.2、实验环境准备

//DHCP服务器
eth0 (192.168.1.21) VMnet10
//DHCP中继
eth0 (192.168.1.21)VMnet10
eth1 (20.20.20.21)VMnet11
//外网客户机:
eth0 (IP地址自动获取) VMnet11
//注:关闭所有防护:iptables Selinux

4.4、配置DHCP服务器

//客户端网卡eth0设置为dhcp ifdown eht0
[root@server22 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@server22 ~]# ifdown eth0
[root@server23 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@server23 ~]# ifdown eth0
//1、软件安装
[root@server21 ~]# yum install -y dhcp
[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
//2、修改/etc/dhcp/dhcpd.conf文件
//声明两个subnet,其他无关可以不做操作或删除
[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.21;
default-lease-time 600;
max-lease-time 7200;
}
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.10 10.10.10.200;
option routers 10.10.10.21;
default-lease-time 600;
max-lease-time 7200;
}
//3、重启dhcpd服务:
[root@server21 ~]# service dhcpd start
//4、指定网关:只能中继器的内网IP为网关地址
//5、配置DHCP中继服务器
//5.1、网卡配置
//一块网卡:ip=192.168.10.20
//一块网卡:ip=100.100.100.20
//5.2、软件安装
[root@server22 ~]# yum install -y dhcp
//5.3、修改中继配置文件
[root@server22 ~]# vim /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.1.21"
//5.4、开启路由转发
[root@server22 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@server22 ~]# sysctl -p
net.ipv4.ip_forward = 1
//5.5、重启中继服务
[root@server22 ~]# service dhcrelay start
//6、测试外网主机
[root@server21 ~]# tail -f /var/log/messages //实时查看dhcp服务器的日志
[root@server22 ~]# tail -f /var/log/messages //实时查看中继下的日志有什么区别
[root@server23 ~]# ifup eth0 //重启客户端网卡
[root@server23 ~]# ip addr
2: eth0: inet 192.168.1.104/24

4.5、拓展实验

注:此图核试验规划有所区别,实验规划只是用一台测试机,此图使用了两台

======================================END======================================

辅助文本

三、DHCP服务搭建

1、准备实验环境

  • 两台机器;网络连接模式设为自定义VMnet+模式

  • 防护的关闭:

  1. iptables —L        //防火墙

  2. gerenforce        //selinux

  3. 关闭VMware虚拟网络编辑器的DHCP功能,切记。

2、DHCP相关信息

//软件名:
dhcp //DHCP服务器软件包
dhcp-common //DHCP命令软件包(默认已安装)
//服务名:
dhcpd //DHCP服务名
dhcrelay //DHCP中继服务名
//端口号:
udp 67 //作为客户端的目标端口,接收客户端的请求DHCP请求
//配置文件:
dhcpd /etc/dhcp/dhcpd.conf //配置文件默认是空的,需要找模板文件重新生成
dhcpd.conf.sample /usr/share/doc/dcp-4.*.*/dhcpd.conf.sample //DHCP的模板配置文件
hcrelay /etc/sysconfig/dhcrelay //该文件时中继配置文件,中继实验中用到

3、DHCP配置文件详解

subnet 192.168.88.0 netmask 255.255.255.0 {                  //声明要分配的网段和子网掩码
range 192.168.88.3 192.168.88.254; //什么可用IP地址池
option domain-name :atguigu.com"; //设置DNS域
option domain-name-server 8.8.8.8; //设置DNS服务器地址
option routers 192.168.88.2; //默认网关地址
option broadcast-address 192.168.88.255; //广播地址(可不写)
default-lease-time 600; //默认租约(S)
max-lease-time 7200; //最大租约(s)
}

DHCP实验部署

1、DHCP基本功能实验

//1、生成配置文件
cp -a /usr/share/doc/dhcp-4.*.*/dhcpd.conf sample /etc/dhcp/dcpd.conf
//2、修改配置文件
//将配置文件的前几个subnet什么注释掉,修改最后一个subner声明
//注:注意配置文件中每行结尾的分号和结束大括号,谢谢!
subnet 192.168.88.0 netmask 255.255.255.0 { //声明要分配的网段和子网掩码
range 192.168.88.3 192.168.88.254; //什么可用IP地址池
option domain-name :atguigu.com"; //设置DNS域
option domain-name-server 8.8.8.8; //设置DNS服务器地址
option routers 192.168.88.2; //默认网关地址
option broadcast-address 192.168.88.255; //广播地址(可不写)
default-lease-time 600; //默认租约(S)
max-lease-time 7200; //最大租约(s)
}
//3、重启服务
service dhcpd start
//4、重启客户机的网卡
ifdown eth0; ifup eth0

2、保留地址(固定地址分配)

//5.1、获取客户端的Mac地址
arp -a //查看客户机的Mac地址
//5.2、修改/etc/dhcp/dhcpd.conf文件
host fantasia{
hardware ethernet mac地址: //客户机的Mac地址
fixed-address IP地址: //固定分配给客户机的IP地址(可以使用地址池以外的IP)
}
//5.3、重启DHCP服务
service dhcpd restart
//5.4、重启客户机网卡验证IP获取是否成功
ifdown eth0; ifup eth0

3、超级作用域(同一网络域)

3.1、超级作用域介绍

  • DHCP服务器可为单个物理网络上的客户端提供多个作用域租约地址

3.2、实验环境准备

  • 三台虚拟机统一网络模式,一个DHCP服务器,两个客户机

3.3、实验步骤

//1、设置DHCP服务器的单臂路由所需子网卡:
cp -a ifcfg-eth0 ifcfg-eth0:0 //编辑此文件,修改网卡名和IP地址即可
//2、开启路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 //此选项修改为1即可
sysctl -p //刷新内核参数配置文件
//3、修改/etc/dhcp/dhcpd.conf文件 //之前的网段声明和主机声明全部注释掉!
shared-network public {
subnet 192.168.88.0 netmask 255.255.255.0{
option routers 192.168.88.0;
range 192.168.88.100 192.168.88.100;}
subnet 192.18.99.0 netmask 255.255.255.0 {
option routers 192.168.99.10;
range 192.168.99.100 192.168.99.10;}
}
//摄于内容注释掉或者删除掉,切记别拉下括号
//4、重启DHCP服务
service dhcpd restart
//5、分别重启两台机器的网卡,查看获取的地址
ifdown eth0;ifup eht0

4、DHCP中继

4.1、DHCP中继介绍:DHCP Relay(DHCPR)DHCP中继是一个小程序,可以实现在不同和物理网段之间处理和转发DHCP信息的功能。

4.2、实验环境准备

//DHCP服务器
eth0 (192.168.10.10) VMnet10
//DHCP中继
eth0 (192.168.10.20)VMnet10
eth1 (100.100.100.20)VMnet11
//外网客户机:
eth0 (IP地址自动获取) VMnet11
//注:关闭所有防护:iptables Selinux

4.4、配置DHCP服务器

//1、软件安装
yum install -y dhcp
//2、修改/etc/dhcp/dhcpd.conf文件
//声明两个subnet,其他无关可以不做操作或删除
subnet 192.168.10.0 netmask 255.255.255.0{ //实验中并未用到该地址池分配IP
range 192.168.10.100 192.168.10.110;
option routers 192.168.10.20;
}
subnet 100.100.100.0 netmask 255.255.255.0 {
range 100.100.100.100 100.100.100.110;
option routers 192.168.99.10;
}
//3、重启dhcpd服务:
service dhcpd start
//4、指定网关:只能中继器的内网IP为网关地址
//5、配置DHCP中继服务器
//5.1、网卡配置
//一块网卡:ip=192.168.10.20
//一块网卡:ip=100.100.100.20
//5.2、软件安装
yum install -y dhcp
//5.3、修改中继配置文件
vim /etc/sysconfig/dhcrelay文件
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.10.10"
//5.4、开启路由转发
vim /etc/sysctl.conf文件
netipv4.ip_forward = 1
sysctl -p
//5.5、重启中继服务
service dhcrelay restart
//6、测试外网主机
ifdown ifup ifconfig //重启网卡

4.5、拓展实验

注:此图核试验规划有所区别,实验规划只是用一台测试机,此图使用了两台

END





声明:JavaBBS论坛主要用于IT技术专题的交流学习,为开源技术爱好者提供广泛、权威的技术资料。若您在技术专题有更好的想法或者建议,欢迎交流!!!



推荐阅读

Recommended reading

 







JavaBBS



Git











  






https://www.javabbs.cn/git






  JavaBBS大数据






→ 






https://www.javabbs.cn





/dsj





  JavaBBS云存储






→  https://www.javabbs.cn






/ycc







  JavaBBS数据库













  https://www.javabbs.cn






/sjk







  JavaBBS云计算













  https://www.javabbs.cn






/yjs







  JavaBBSIT.Log













https://www.javabbs.cn






/itl






  JavaBBSNginx













  https://www.javabbs.cn






/ngx






  JavaBBSzabbix













https://www.javabbs.cn






/zbx






  JavaBBSJavaSE













https://www.javabbs.cn






/jse







  JavaBBS社区文章













https://www.javabbs.cn






/bwz






  JavaBBS社区资料













https://www.javabbs.cn






/bzl







文章转载自Java BBS,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论