内容简介:大家都知道上网的最基本前提是要在终端上设置IP、子网掩码、网关、DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP、掩码、DNS地址也能上网,这是什么原因呢?其实这个原因很简单,说明你的内网有"DHCP"服务器,通过它给你的终端自动分配了IP掩码和网关等地址,省去了你手动配置过程,从而给网管人员和办公人员都带来了方便,简化了管理过程。今天就以本篇文章内容给大家详细介绍一下"DHCP"实现的基本原理以及常见的几种搭建DHCP服务器的方法!
大家都知道上网的最基本前提是要在终端上设置IP、子网掩码、网关、DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP、掩码、DNS地址也能上网,这是什么原因呢?其实这个原因很简单,说明你的内网有"DHCP"服务器,通过它给你的终端自动分配了IP掩码和网关等地址,省去了你手动配置过程,从而给网管人员和办公人员都带来了方便,简化了管理过程。
今天就以本篇文章内容给大家详细介绍一下"DHCP"实现的基本原理以及常见的几种搭建DHCP服务器的方法!
一、DHCP实现原理
1. DHCP是什么
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。它是一种流行的Client/Server协议,一般用于为主机或者为路由器等指定相关的配置信息。DHCP服务在企业和家庭中得到了大量的应用,它能够自动分配ip地址以及一些其他的相关信息,整个过程对客户透明。
2. 部署DHCP服务的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免ip地址冲突
- 当网络更改ip地址段时,不需要再重新配置每一个用户的ip地址
- 提高了ip地址的利用率
- 方便客户端的配置
3. DHCP分配方式
- 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
- 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
- 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
4. DHCP工作过程
DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。 如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。
根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。
初次登录:
初次登录时DHCP工作包括四个步骤:
(1) 第一步寻找DHCP服务器
当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。
(2) 第二步分配IP地址
在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。
(3) 第三步接受IP地址
DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。
(4) 第四步IP地址分配确认
当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。
重新登录:
以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。
- 如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP。
- 如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用。
- 回复NACK后,重新开始DHCP初次登录时的流程
更新租约:
DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限到达租约的50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。
二、常见的几种搭建DHCP服务器的方法
1. 利用TPLinK等宽带路由器内置的DHCP功能模块提供服务
这种方法很简单,首先就是登录路由器,找到DHCP功能设置的位置,直接设置即可。
如下图:
设置好保存重启后,网内的计算机就可以自动获取iP地址等信息了。
2. 办公网环境利用三层交换机搭建DHCP服务
以华为交换机举例:
在三层交换机配置DHCP服务过程:
<Huawei>system-view (进入全局模式) [Huawei]sysname SW1 ( 设备命名) [SW1]dhcp enable (使用DHCP功能) [SW1]ip pool 10 (创建全局地址池,同时进入全局地址池视图) [SW1-ip-pool-10]network 192.168.10.0 mask 24 (配置全局地址池可动态分配的IP地址范围) [SW1-ip-pool-10]dns-list 8.8.8.8 (配置DNS ) [SW1-ip-pool-10]gateway-list 192.168.10.1 (配置网关) [SW1-ip-pool-10]excluded-ip-address 192.168.10.201 192.168.10.254 (保留不被分配的地址) [SW1-ip-pool-10]lease day 7 (IP租约期限) [SW1-ip-pool-10]dis this (查询当前模式的配置) # ip pool 10 gateway-list 192.168.10.1 (网关) network 192.168.10.0 mask 255.255.255.0 (IP地址范围) excluded-ip-address 192.168.10.201 192.168.10.254 (保留IP地址范围) lease day 7 hour 0 minute 0 (IP租约周期) dns-list 8.8.8.8 [SW1-ip-pool-10]quit (退出 [SW1]ip pool 20 [SW1-ip-pool-20]network 192.168.20.0 mask 24 [SW1-ip-pool-20]dns-list 8.8.8.8 [SW1-ip-pool-20]gateway-list 192.168.20.1 [SW1-ip-pool-20]excluded-ip-address 192.168.20.201 192.168.20.254 [SW1-ip-pool-20]lease day 7 [SW1-ip-pool-20]q ------------------------------------------------ [SW1]vlan batch 10 20 (批量创建vlan) [SW1]interface GigabitEthernet 0/0/1 (进入port 1) [SW1-GigabitEthernet0/0/1]port link-type access (配置port 1 类型) [SW1-GigabitEthernet0/0/1]port default vlan 10 (配置port 1 vlan) [SW1-GigabitEthernet0/0/1]quit (退出) [SW1]interface GigabitEthernet 0/0/2 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 20 [SW1-GigabitEthernet0/0/2]quit ( 配置VLANIF10接口下的客户端从全局地址池中获取IP地址) [SW1]interface Vlanif 10 (创建vlanif 10) [SW1-Vlanif10]ip address 192.168.10.1 24 (配置IP地址) [SW1-Vlanif10]dhcp select global (在vlanif 10模式下调用全局地址池) [SW1-Vlanif10]display this (查询当前配置参数) # interface Vlanif10 ip address 192.168.10.1 255.255.255.0 dhcp select global # Return [SW1-Vlanif10]quit [SW1]interface Vlanif 20 [SW1-Vlanif20]ip address 192.168.20.1 24 [SW1-Vlanif20]dhcp select global [SW1-Vlanif20]quit [SW1]display ip pool (查看IP地址池配置情况) [SW1]quit <SW1>save (保存配置,写入设备)
3. 在Windows 系统里搭建DHCP服务
以2008server为例:
2008ser搭建DHCP服务器步骤:
第一步:安装Windows Server 2008系统作为服务器端;客户端可安装其他Windows系统。
第二步:进入2008ser系统,手动设置IP(未设置静态IP,后面无法继续)
第三步:打开服务器管理器:系统中点击 "开始菜单程序"——> 管理工具 ——>服务器管理器
第四步:进入服务器管理器,点击左侧的"角色"然后点击右侧"添加角色"
第五步:进入添加角色向导默认下一步,
第六步:服务器角色界面,勾选DHCP服务器;
第七步:勾选DHCP服务器后,单击"下一步"按钮,屏幕上将会弹出DHCP服务器简介窗口,默认下一步;
第八步: 进入选择网络连接绑定,勾选IP地址;安装程序将自动检查你的服务器是否具有一个静态IP地址,第2步设置了则会被检测显示出来。
第九步:接下来到"IPv4DNS设置",需要输入你的父域名和DNS服务器的IP地址,这个域将用于我们在这台DHCP服务器上创建的所有作用域; 当DHCP更新IP地址信息的时候,相应的DNS更新会将计算机的名称到IP地址的关联进行同步。
第十步:是否要设置WINS服务器地址参数,默认"此网络上的应用程序不需要WINS"选项; (若需要则正确设置好目标WINS服务器的IP地址。)
第十一步:接下来的"DHCP作用域"窗口中,点击右侧"添加"我们可以根据本地局域网的IP地址分配情况,设置好DHCP服务器的适用范围,同时选中"激活此作用域"选项,并单击"确定"添加完成。
第十二步: DHCPv6无状态模式,选择禁用模式;在Windows Server 2008中默认增加了对下一代IP地址规范IPv6的支持,不过就目前的网络现状来说很少用到IPv6,因此可以选择对此服务器禁用DHCPv6无状态模式。
第十三步: 在"确认"界面,确认后点击安装,开始自动安装。进度条完成,DHCP也安装完成。
最后同局域网中的客户端设置为自动获得IP地址,即可获得DHCP自动分配的IP;
4. Linux系统下搭建DHCP服务
以ubuntu系统为例:
网络拓扑结构图如下:
配置步骤如下:
第一步:安装isc-dhcp-server
采用命令:apt-get install isc-dhcp-server:
第一步:配置isc-dhcp-server
首先对作为DHCP服务器的"ubuntu 副本"进行设置:
第三步:进入超级用户,编辑文件/etc/default/isc-dhcp-server文件:
在INTERFACES=""处填入网卡名enp0s3:
第四步:
将文件打开发现有很多例子,都是被注释掉了的,选用一个例子,修改后的结果如下:
修改本机的IP地址,子网掩码,默认网关,DNS等:
对该网卡进行重启,对网络进行重新启动,将DHCP服务开启:
完成所有配置之后我们先查看一下网络配置:
第五步:Linux客户机配置(虚拟机从虚拟机获得IP):
网络连接设置为自动获取IP地址:
在命令行中输入dhclient命令重新分配IP地址,我们发现IP地址成功被分配到了,其中图一是未得到分配的IP地址,图二是重分配后得到的由DHCP服务器192.168.137.2分配而来的IP地址192.168.137.101:
通过wireshark抓包进行分析,可看到IP地址192.168.137.101的确是由DHCP服务器192.168.137.2提供的,并且可以看到它们之间的request-ack过程:
以上所述就是小编给大家介绍的《IT小百科之DHCP服务原理与搭建》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 从0到1搭建推荐策略产品的思考(二):如何搭建?
- Docker搭建disconf环境,三部曲之三:细说搭建过程
- 在Windows下搭建React Native Android开发环境&搭建项目
- 2019最新k8s集群搭建教程 (centos k8s 搭建)
- Python 环境搭建
- 1 - 搭建开发环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Amazon Web Services
James Murty / O'Reilly Media / 2008-3-25 / USD 49.99
Building on the success of its storefront and fulfillment services, Amazon now allows businesses to "rent" computing power, data storage and bandwidth on its vast network platform. This book demonstra......一起来看看 《Programming Amazon Web Services》 这本书的介绍吧!