草庐IT

DHCP服务器介绍及配置

今天也要学习呀呀 2023-10-15 原文

目录

一、DHCP服务器简介

1.简介

2.使用DHCP的好处:

二、DHCP服务原理

1.DHCP租约过程

2.DHCP的续租过程

三、DHCP服务器配置

1.Server端安装DHCP服务器

2.Client 端自动获取IP


一、DHCP服务器简介

1.简介

动态主机配置协议是一个局域网的网络协议,为网络中计算机自动分配TCP/IP参数的协议

指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。担任DHCP服务器的计算机需要安装TCP/IP协议,并为其设置静态IP地址、子网掩码、默认网关等内容。

没有DHCP服务器,就没办法自动获取IP。(DHCP服务是简单的服务,一般家庭路由器都自带,难度不高,消耗的资源不大。)

拓展:

FTP是文件传输协议简称,主要用来上传、下载、共享文件,公网、局域网都可以使用。

跟Windows 右键共享文件,相似,但是共享只能在局域网里使用

2.使用DHCP的好处:

  1. 减少管理员的工作量
  2. 避免了IP冲突(同一个网段可用的IP,0和255不能用,可用1-254)
  3. 提高了IP地址的利用率
  4. 方便客户端的配置
  5. 避免普通用户输入错误的可能(家里路由器上网,只需要自动获取IP即可联网)

缺陷

如果在一个局域网内,有两个DHCP服务器,客户端获取时,谁优先回复,就从谁那里优先获取IP,无法控制,可能会影响真实网络连接

二、DHCP服务原理

1.DHCP租约过程

1)客户机请求IP (相当于客户机点击自动获取IP操作)

DHCP  Discover :客户端对外发起广播,问谁是DHCP服务器

255.255.255.255相当于广播地址,全网段广播

客户机发出请求IP后,站在客户端角度,会有三种可能

A.没有DHCP服务器:

不同版本不一样

Win XP 以前系统:循环询问(每隔一段时间反复询问)

Win 7以后的系统:询问一个完整周期(比如一分半),结束还未有回复,自己给自己分配一个169.开头的是假IP(不能使用、也不能通信,只是相当于一个“闭嘴的安抚奶嘴”目的就是不让继续广播下去)

B.有1个DHCP服务器:

回复你,继续分配

C.有多个DHCP服务器:

谁先回复,就使用谁分配的IP

2)服务器响应

服务器第一次给客户端提供数据时,仅提供IP地址,不是完整的租约信息。

拓展:

需要正常上网(访问公网),IP地址、子网掩码、网关、DNS服务器,缺一不可

仅是局域网访问,只需要有IP地址和子网掩码

3)客户机选择/确认IP地址

客户端拿到IP后,确认IP是否被人占用服务器确认,被占用重新广播会分配新的IP

一般租期:

有线:默认时8天   无线:默认8小时

4)服务器确定租约

服务器确认

2.DHCP的续租过程

客户端使用租约达到50%(租约8天,达到4天),以单播的形式向服务器请求续约

  1. 续约失败,客户端没有找到服务器,则继续使用IP,达到租约87.5%(7天),以广播形式向服务器续租
  2. 续约继续失败,客户端则使用租约100%,重新发送DHCP  Discover包,重新广播寻找新的DHCP服务器

补充:

DHCP分配的IP不会跟用户手动配的IP(先配)相同,因为客户端第一次获取IP后进行确认是否被占用

如果DHCP先自动分配了,用户再手动分配同一个IP,会显示IP冲突

三、DHCP服务器配置

关键点

  1. 分清谁是server,谁是client (服务器跟用户端)
  2. 服务器/server端安装配置DHCP的前提是:本身拥有固定IP地址
  3. Server跟client需要都设置成NAT连接
  4. 虚拟网络编辑器里,本身的DHCP服务器关闭
  5. 两个客户端都要关掉防火墙

实验操作步骤:

前提:两个虚拟机都设置为NAT模式连接

  • server端安装DHCP服务器
  • client端连接自动获取IP

1.Server端安装DHCP服务器

1.打开“服务器管理器”

2.点击“角色”,选择“添加角色”

 

3.选择“下一步”

  

 4.确认自身的IP(没有IP不能进行下一步,Windows会自动显示,Linux是通过配置文件完成的)服务器/server端安装配置DHCP的前提是:本身拥有固定IP地址

 

5.目前实验的虚拟机里的Windows服务器版没有安装域控,父域随便编一个,首选DNS服务器IPv4地址(R),是给客户端分配的IP,正常填写(8.8.8.8),点击下一步DNS作用是连接公网的,根本原理是用来把域名翻译成IP,或者把IP翻译成域名(IP和域名转换),也叫域名解析,没有DNS服务器,不能上公网

如果Windows装了域控(AD活动目录),“父域”必须填写域控的父域名称,必须是一致的如果没有装,“父域”这里随便填写,但是需要注意格式规则,例如:test.com

6.选择“不需要”

win S服务  早就淘汰了  看到都可以禁用

 

7.选择添加,填写分配IP地址范围,确定,下一步

 

8.选择“禁用”,下一步

 

9.开始安装

 

DHCP完成安装,如下操作进入管理系统

 

地址池:是安装时自定义的可分配IP范围,不可二次调整

地址租用:可以看到已经分配的IP地址

保留:比如给打印机保留一个IP,是固定的

 
 

2.Client 端自动获取IP

先关闭“适应本地DHCP服务将IP地址分配给虚拟机”

1.右击网络,选择“打开网络和Internet设置”

2.选择“更改适配器设置”

 

3.双击网络,选择属性

 

4.选择Internet协议版本4(TCP/IPv4)

 

5.选择自动获取

 

6.确认

检测是否生效、实验是否成功?

1.在服务器端的虚拟机,进入DHCP设置,找到地址租用,查看是否有分配的IP

唯一地址就是MAC地址

 

2.在客户端的虚拟机,搜索栏搜索:CMD,输入  ipconfig  /all ,确认IP地址跟唯一地址是否匹配的上

 

客户端常用命令

ipconfig            查询网络信息(IP等)

ipconfig  /?        帮助

ipconfig /renew      重新获取IP地址

ipconfig /release     释放获取的IP地址

有关DHCP服务器介绍及配置的更多相关文章

  1. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  2. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  3. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  4. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  5. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  6. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  7. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  8. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

  9. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  10. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

随机推荐