问题描述:
它是做什么用的
是单给客户机分配IP地址的吗?
我把路由器的DHCP服务打开后我的IP设置自动的
但是为什么不能打开网页 IPCONFIG /ALL也能看出IP 就是没网关
加上网关后就能打开网页了
为什么???????????????????
解析:
DHCP 是 Dynamic Host Configuration Protocol 之缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁碟主机连接的网路上面的:网路主机使用 BOOT ROM 而不是磁碟起动并连接上网路,BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬 址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。
DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是伺服器端,而另一个是客户端。所有的 IP 网路设定资料都由 DHCP 伺服器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从伺服器分配下来的IP环境资料。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考量,DHCP 也完全照顾了 BOOTP Client 的需求。
DHCP 的分配形式
首先,必须至少有一台 DHCP 工作在网路上面,它会监听网路的 DHCP 请求,并与客户端搓商 TCP/IP 的设定环境。它提供两种 IP 定位方式:
Automatic Allocation
自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 伺服器端租用到 IP 位址之后,就永远使用这个位址。
Dynamic Allocation
动态分配,当 DHCP 第一次从 HDCP 伺服器端租用到 IP 位址之后,并非永久的使用该位址,只要租约到期,客户端就得释放(release)这个 IP 位址,以给其它工作站使用。当然,客户端可以比其它主机更优先的延续(renew)租约,或是租用其它的 IP 位址。
动态分配显然比自动分配更加灵活,尤其是当您的实际 IP 位址不足的时候,例如:您是一家 ISP ,只能提供 200 个IP位址用来给拨接客户,但并不意味着您的客户最多只能有 200 个。因为要知道,您的客户们不可能全部同一时间上网的,除了他们各自的行为习惯的不同,也有可能是电话线路的限制。这样,您就可以将这 200 个位址,轮流的租用给拨接上来的客户使用了。这也是为什么当您查看 IP 位址的时候,会因每次拨接而不同的原因了(除非您申请的是一个固定 IP ,通常的 ISP 都可以满足这样的要求,这或许要另外收费)。当然,ISP 不一定使用 DHCP 来分配位址,但这个概念和使用 IP Pool 的原理是一样的。
DHCP 除了能动态的设定 IP 位址之外,还可以将一些 IP 保留下来给一些特殊用途的机器使用,它可以按照硬 址来固定的分配 IP 位址,这样可以给您更大的设计空间。同时,DHCP 还可以帮客户端指定 router、mask、DNS Server、WINS Server、等等项目,您在客户端上面,除了将 DHCP 选项打勾之外,几乎无需做任何的 IP 环境设定。
DHCP 的工作原理
视乎客户端是否第一次登录网路,DHCP 的工作形式会有所不同。
第一次登录的时候:
1 寻找 Server。当 DHCP 客户端第一次登录网路的时候,也就是客户发现本机上没有任何 IP 资料设定,它会向网路发出一个 DHCPDISCOVER 封包。因为客户端还不知道自己属于哪一个网路,所以封包的来源位址会为 0000 ,而目的位址则为 255255255255 ,然后再附上 Dhcpdiscover 的信息,向网路进行广播。
在 Windows 的预设情形下,Dhcpdiscover 的等待时间预设为 1 秒,也就是当客户端将第一个 Dhcpdiscover 封包送出去之后,在 1 秒之内没有得到回应的话,就会进行第二次 Dhcpdiscover 广播。若一直得不到回应的情况下,客户端一共会有四次 Dhcpdiscover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 DHCP 伺服器的回应,客户端则会显示错误信息,宣告 Dhcpdiscover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 Dhcpdiscover 的过程。
2 提供 IP 租用位址。当 DHCP 伺服器监听到客户端发出的 Dhcpdiscover 广播后,它会从那些还没有租出的位址范围内,选择最前面的的空置 IP ,连同其它 TCP/IP 设定,回应给客户端一个 DHCPOFFER 封包。
由于客户端在开始的时候还没有 IP 位址,所以在其 Dhcpdiscover 封包内会带有其 MAC 位址信息,并且有一个 XID 编号来辨别该封包,DHCP 伺服器回应的 Dhcpoffer 封包则会根据这些资料传递给要求租约的客户。根据伺服器端的设定,Dhcpoffer 封包会包含一个租约期限的信息。
3 接受 IP 租约。如果客户端收到网路上多台 DHCP 伺服器的回应,只会挑选其中一个 Dhcpoffer 而已(通常是最先抵达的那个),并且会向网路发送一个Dhcprequest广播封包,告诉所有 DHCP 伺服器它将指定接受哪一台伺服器提供的 IP 位址。
同时,客户端还会向网路发送一个 ARP 封包,查询网路上面有没有其它机器使用该 IP 位址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLINE 封包给 DHCP 伺服器,拒绝接受其 Dhcpoffer ,并重新发送 Dhcpdiscover 信息。 干货速度收藏! DHCP服务器 简介及 配置 图文 教程
想必熟悉局域网的小伙伴,对于DHCP服务器一定不陌生,在一个计算机比较多的网络中,如果网络管理员要亲自为某个部门,甚至整个企业的上百台机器逐一手工分配IP地址,那么这个效率是非常低的,其实可以通过DHCP服务器来实现这个工作。本篇文章就为大家介绍了DHCP服务器的概念、原理以及配置,快来看看吧!
一、什么是 DHCP服务器 ? DHCP服务器 简介
1、简介
DHCP,(全称Dynamic Host Configuration Protocol),即动态主机配置协议。DHCP主要在局域网使用,对IP地址进行集中管理和分配,使网络环境中的主机动态获得IP地址、网关地址、DNS服务器地址等信息,并提升IP地址使用率。
2、原理
DHCP是一种基于客户/服务器模式的服务协议,工作原理其实很简单,是在安装有DHCP服务器的网络中,客户端启动时自动与DHCP服务器通信,要求服务器提供自动分配IP地址的服务,而安装了DHCP服务器软件的服务器响应这个要求,并向客户端发送出合法的IP地址。所谓DHCP服务器,也就是提供DHCP服务的服务器,它是通过IP地址租约的方式为DHCP客户端提供服务的。
DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP 67(服务器端)和UDP 68(客户端)进行通讯,UDP68端口用于客户端请求,UDP67用于服务器响应,并且大部分DHCP协议通讯使用广播进行。
(1) DHCP DISCOVER
当DHCP客户端处于以下三种情况之一时,触发DHCP DISCOVER广播消息:
1)当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动、启用网络适配器或者连接到网络时);
2)DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;
3)DHCP客户端释放已有租约并请求新的租约。
此时,DHCP客户端发起DHCP DISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0000作为源IP地址,然后广播地址255255255255作为目的地址。在此请求数据包中同样会包含客户端的MAC地址,以便DHCP服务器进行区分。
如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCP DISCOVER广播消息。除了第一个DHCP DISCOVER广播消息外,DHCP客户端还会发出三个DHCP DISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~1000毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,16925400/16)中定义的未被其他客户使用的IP地址,子网掩码为25525500,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端进行通讯。
(2) DHCP OFFER
所有接收到DHCP客户端发送的DHCP DISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCP OFFER广播消息来应答发起DHCP DISCOVER广播的DHCP客户端,此消息包含以下内容:
客户端MAC地址;
DHCP服务器提供的客户端IP地址;
DHCP服务器的IP地址;
DHCP服务器提供的客户端子网掩码;
其他作用域选项,例如DNS服务器、网关、WINS服务器等;
租约期限等。
因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255255255255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCP OFFER消息,则DHCP客户端接受它接收到的第一个DHCP OFFER消息中的IP地址。
(3) DHCP REQUEST
当DHCP客户端接受DHCP服务器的租约时,它将发起DHCP REQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。
在此DHCP REQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。
此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0000作为源IP地址,广播地址255255255255作为目的地址。
( 4 ) DHCP ACK
提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCP REQUEST广播消息后,会发送DHCP ACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。
如果DHCP客户端的 *** 作系统为Windows版本,当DHCP客户端接收到DHCP ACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCP DECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCP DISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。
如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。
二、 DHCP SERVER (RELAY)配置方式
1、相关配置文件
端口号:ipv4 udp 67(源端口:接收客户端请求的)、 udp 68(目的端口:向客户端发送请求成功或失败的回应)、ipv6 udp 546、udp 547
服务名:dhcpd、dhcrelay
主配置文件:/etc/dhcp/dhcpdconf
模板文件:/usr/share/doc/dhcp-411/dhcpdconfsample
中继配置文件:/etc/sysconfig/dhcrelay
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/initd/dhcpd、/etc/initd/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
查看租约文件:/var/lib/dhcpd/dhcpdlease
很多网络服务的排错日志:/var/log/messages
2、配置步骤
(1) *** 作前的准备
防火墙临时关闭:iptables –F
防火墙永久关闭:/etc/initd/iptables stop
查看防火墙状态:iptables -L
selinux临时关闭:setenforce 0
selinux永久关闭:sed –i“7s/enforcing/disabled/g”/etc/selinux/config
(2)客户端配置
1、关闭防火墙和selinux
2、自己在虚拟网络编辑器创建一个局域网的网卡,并设置好网段,取消虚拟网络编辑器的DHCP自动分配功能
3、进入客户机设置IP地址为自动获取(就是让DHCP选项生效),然后用service network restart 重启客户机网卡,到这里客户端就设置完成。
(3)服务端配置
1、进入服务机设置IP地址、网关和虚拟网络编辑器那个网卡的网段一致,然后重启网卡;
2、配置yum源,挂载光盘,然后用yum -y install dhcp安装dhcp软件;
3、进入dhcp配置文件/etc/dhcp/dhcpdconf发现里面是空的,然后把dhcp模板文件中的内容导入dhcp 配置文件;
4、将配置文件的前几个subnet声明注释掉,修改最后一个subnet的声明;
5、修改完成后保存退出,用service dhcpd configtest测试文件是否有错误;
6、然后用service dhcpd start 重启dhcp服务;
7、重启客户机网卡,看能不能获取到服务机地址池的IP地址;
8、为某台主机设置IP地址保留,把要保留IP的MAC地址和要保留的IP地址写入dhcpdconf的配置文件即可,然后设置客户机为自动获取IP;
9、用ifdown eth0停止服务机网卡,再用ifup eth0开启网卡,然后用service dhcpd start 重启dhcp服务,看客户机能不能获取到指定IP。
3、中继代理配置
interface f0/0
ip helper-address 1111
ip dhcp relay information trust
update arp开启定期ARP询问
interfaca g0/0/2
arp authorized禁止动态更新ARP
arp timeout 60 60s无应答则删除ARP条目
ip dhcp snooping vlan 20 vlan20开启snooping
interface f0/0定义信任端口
ip dhcp snooping trust交换机连接DHCP服务器端口设为trusted
dhcp snooping bind-table static ip-address ip-address mac-address mac-address interface g0/0#配置IP与MAC静态绑定表
interface vlan 1
ip add dhcp-alloc #立即发送DHCP-discover报文,1-10s内随机发送,如果没有收到DHCP服务器的回应报文继续发送,直到回应为止
dhcp selsect global all #全局分配地址
dhcp server group dhcp-relay
dhcp-server 10111组里有多个dhcp服务器
interface vlan 2
dhcp select relay
dhcp relay server-select dhcp-relay
display dhcp server ip-in-use all #查看地址池可用地址信息
reset dhcp server ip-in-use all #重置正在使用的IP地址
address-check enable dhcp #中继的安全特性
ip dhcp relay information trust-all合法的DHCP服务路由,为了形成一个绑定表
no ip dhcp conflict logging关闭DHCP冲突日志
display ip interface br
配置DHCP服务器的步骤如下:
安装DHCP服务器软件:首先需要安装DHCP服务器软件,例如ISC DHCP服务器或Windows Server自带的DHCP服务器。安装方式会因不同的 *** 作系统而有所不同。
配置DHCP服务器参数:配置DHCP服务器参数,包括IP地址池、子网掩码、默认网关、DNS服务器、租约时间等。IP地址池指的是DHCP服务器可以分配的IP地址范围。子网掩码和默认网关则是用于将DHCP客户端分配的IP地址与网络连接起来。
配置DHCP选项:DHCP选项是一些额外的配置参数,可以根据需要进行配置。常见的DHCP选项包括DNS服务器、NTP服务器、SMTP服务器、TFTP服务器等。
配置DHCP客户端:将DHCP客户端的网络设置修改为使用DHCP获取IP地址,这样DHCP客户端就可以通过DHCP服务器自动获取IP地址等网络参数。如果使用的是Windows *** 作系统,可以在网络和共享中心中进行DHCP客户端的配置。
启动DHCP服务器服务:启动DHCP服务器服务后,DHCP客户端将会自动向DHCP服务器发出请求,请求分配IP地址等网络参数。
注意:在配置DHCP服务器之前,需要确保网络拓扑结构正确,并保证DHCP服务器和DHCP客户端都处于同一网络中。此外,DHCP服务器的配置参数需要和网络环境相匹配,以避免网络故障和安全漏洞。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)