DHCP(dynamic host configure protocol)是动态主机配置的缩写,用于向网络中的计算机动态分配IP以及简单的TCP/IP信息。
什么是DHCP
DHCP是用于简化IP配置管理的TCP/IP标准,对客户机动态非配TCP/IP信息。
使用DHCP的理由
1:减小管理员的工作量
2:减小输入错误的可能
3:避免IP冲突
4:当网络改变IP地址段时,不需要对每台PC重新分配IP地址
5:计算机移动不需要重新配置ip地址
6:提高IP地址的利用率
DHCP的工作原理(四次广播)
第一步:客户机请求IP租约
客户机广播一个DHCPdiscover包请求IP地址,DHCPdiscover包的原地址是0000(因为这个时候还没有IP)目标地址255255255255(不知道那台机DHCP服务器,所以广播)MAC地址是自己的。
第二步:服务器响应
当DHCP服务器接收到客户机请求IP地址的信息时,就在自己的IP地址库中查找是否有合法的IP地址提供给客户机,如果有,就将此IP地址做上标记,广播一个DHCPpoffer包,DHCPpoffer包中包含:
1,DHCP客户机的MAC地址,用来正确标识客户机。
2,DHCP服务器提供的合法IP地址,子网掩码。
3,租约期限。
4,服务器标识
第三步:客户机选择IP地址
客户机接收到第一个DHCPpoffer包中选择IP,并将DHCPrequest包广播到所有DHCP服务器(因为可能一个环境中有多台DHCP服务器)表明它接受提供的内容。
第四步:服务器确认IP租约
DHCP租约过程中第四步也是最后一步为服务器确认IP地址租约,也称为DHCPACK/DHCPNAK
DHCP服务器的配置
DHCP服务器的要求
1,DHCP服务器要求在windows server 2003 的计算机上运行,(当然也可以在windows 2000或NT得计算机上运行,但本文主要介绍的是在windows server 2003 上运行的配置)
2,DHCP服务器要有一个静态的IP地址、子网掩码和其他的TCP/IP信息
3,要安装DHCP服务
4,使用活动目录服务必须授权DHCP服务器
5,建立作用域并激活。
实验步骤:
1,配置自己的IP地址,(静态)
2,在"添加删除程序"选择"添加/删除组件",在框中选中"网络服务"(但不要打钩),点下面的"详细信息"里面的"动态分配主机协议"(DHCP打钩)然后"确定","下一步"
3,“在开始菜单”“管理工具”里面选中“DHCP”,打开后“新建作用域”
4,客户机上运行CMD进入命令行模式:输入ipconfig /release 清空IP信息。然后输入ipconfig /renew 获取IP信息。(注意客户机必须是动态获取IP地址)
LIUNX中DHCP工作原理及配置过程详解
DHCP服务配置
DHCP服务占67号端口,DHCP的前身是bootps这个协议。
可以通过这个命令证明:#cat /etc/services | grep bootps
bootps 67/tcp #BOOTP servier
bootps 67/udp
DHCP全称是动态主机配置协议(Dynamic Host Configuration Protocol),是由IETF(Internet网络工
程师任务小组)设计的,详尽的协议内容在RFC文档rfc2131和rfc1541里。它是用来自动给客户机分配
TCP/IP信息的网络协议。每个DHCP客户都连接到中央位置的DHCP服务器,该服务器会返回包括IP地址、网
关和DNS服务器信息的客户网络配置。
DHCP的工作过程
(1)IP租用请求:DHCP客户机启动计算机后,通过UDP端口67广播一个DHCPDISCOVER信息包,向网络上的任
意一个DHCP服务器请求提供IP租约。
(2)IP租用提供:网络上所有的DHCP服务器均会收到此信息包,每台DHCP服务器通过UDP端口68给DHCP客户
机回应一个DHCPOFFER广播包,提供一个IP地址。
(3)IP租用选择:客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向
网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包
含所接受的IP地址和服务器的IP地址。
(4)IP租用确认:被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,公广播返回给客户机一个
DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该
广播包发给客户机。
客户机在收到DHCPACK包后,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户
机可以在网络中通信。
/usr/sbin/dhcpd //dhcp执行文件 /var/lib/dhcp/dhcpdleases //dhcp租约文件
DHCP配置文件
Linux默认是没有dhcpdconf文件的,需要我们自己到/usr/share/doc/dhcp-30p12文件夹下把
dhcpconfsample模板文件拷贝到/etc文件夹下起名叫dhcpdconf
#cp /usr/share/doc/dhcp-30p12/dhcpconfsample /etc/dhcpdconf
#vi /etc/dhcpdconf //打开/etc/dhcpdconf文件
ddns-update-style interim; //配置使用过渡性DHCP-DNS互动更新模式
ignore client-updates; //忽略客户端更新
subnet 19216800 netmask 2552552550 { //subnet后面必须跟网段,设置您要对哪个网段提
供dhcp提供,注意DHCP服务器IP地址必须和该网段相符,否则DHCP服务不能启动
option routers 19216801; //为DHCP客户指定默认网关(gateway)
option subnet-mask 2552552550; //为DHCP客户指定子网掩码
(netmask)
option nis-domain "domainorg"; //为DHCP客户设置NIS域
option domain-name "domainorg"; //为DHCP客户设置DNS域
option domain-name-servers 19216811; //为DHCP客户设置DNS服务器地址
option time-offset -18000; //设置与枨林威治时间的偏移时间(s)
range dynamic-bootp 1921680128 1921680255; //设置地址池,为DHCP客户分配IP
地址的地址段,客户可以分到该段内的任意地址;建议把1921680255改为1920168254,因为客户机
不可能被分配到255这台机器,255是广播地址
default-lease-time 21600; //为DHCP客户设置默认的地址租期,单位为秒
max-lease-time 43200; //为DHCP客户设置最长的地址租期,单位为秒
host ns { //这部分是关于DHCP服务器的声明
next-server marvinredhatcom; //设置用于定义服务器从引导文件中装入的主
机名,用于无盘工作站
hardware ethernet 12:34:56:78:AB:CD //指定DHCP客户的MAC地址
fixed-address 20717542254; //指定MAC地址分配固定的IP地址
}
}
以上就是对DHCP配置文件每项的详细解释。
如果碰到DCHP设置都正确,但是启动DHCP服务启动不成功请查看一下/etc/sysconfig/network文件
NETWORKING这项是否为yes,如果不是yes请修改为yes。
#vi /etc/sysconfig/network
NETWORKING=yes
或者执行该 *** 作同等于上面的 *** 作#echo "NETWORKING=yes" >> /etc/syconfig/network
下面我们来配置一下DHCP客户机
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 //网卡设备文件名称设置正确
BOOTPROTO=dhcp //自动获得IP地址
ONBOOT=yes
保存退出(wq),启动DHCP服务#service dhcpd start,设置生效。用户就可以获得DHCP服务器地址池内的
其中一个IP地址。
#ifconfig //就会看到DHCP服务器为客户机分配的地址池内的一个IP地址
给DHCP客户机分配固定的IP地址
在DHCP客户机查看MAC(网卡)地址
#ifconfig //可以查看到MAC地址,如MAC地址是12:34:56:78:AB:CD
在DHCP服务器端设置
#vi /etc/dhcpdconf
host ns {
next-server marvinredhatcom;
hardware ethernet 12:34:56:78:AB:CD //指定DHCP客户机网卡地址为
12:34:56:78:AB:CD,IP地址固定设置为1921680100
fixed-address 1921680100
保存退出(wq)
#service dhcpd restart //重启dhcp服务设置生效
在DHCP客户机里重启网络服务#service network restart 可以得到DHCP服务器最新分配给客户机的IP地
址。
#ifconfig //查看IP地址
inet addr 1921680100
设置生效,DHCP服务器已经为DHCP客户机分配了固定的IP地址。
DHCP客户机重启network服务后可以看到DHCP主机的一些信息效果 #cat /etc/resolvconf
windows系统做DHCP客户机
IP地址设置为自动获得IP地址:开始---控制面板---网络连接---本地连接---属性(反击)---常规---
Internet协议(TCP/IP)---属性---自动获得IP地址---确定---确定
查看自获的IP地址:开始---运行---cmd---ipconfig
提示:如果不能自动获取IP地址,请查看是否有防火墙开启,如果有请关闭所有的防火墙。
固定windows的IP地址
方法与Linux *** 作系统相同,只是查看IP地址的时候命令不一样,在windows里是ipconfig,Linux里面是
ifconfig。
在windows里面获得DHCP服务器新的IP地址
ipconfig /release -all //先释放所有网卡IP地址
ipconfig /renew -all //再更新所有的网卡IP地址
就会得到DHCP服务器分配新的IP地址了。
winodws下更改网卡(MAC)地址
我的电脑---属性---硬件---设备管理器---网络适配器---XXXXXX(网卡名称)---属性(反击)---高级
---Network Address---值(连续填入12位MAC地址)
注:相同厂商MAC地址前三段都是一样的。dhcp不能向客户机发送mac地址参考以下原因
内网使用DHCP分配IP地址,很多人将手机接入网络,导致IP地址不够用的问题。
从已分配的IP地址列表中能看到这些手机客户端的MAC地址。
有没有方法对DHCP进行设置,使这个指定MAC地址的终端无法从DHCP服务器中获得IP地址 干货速度收藏! 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 brIT专家网独家问题:我应怎样阻止网络中的一个MAC地址,从而拥有那个特定MAC地址的电脑不能从我的DHCP服务器获得任何IP地址 专家解答: 你可以用两种方法完成这个 *** 作: 1 如果你知道网络中电脑的数量,可以在DHCP中实施强制性的MAC绑定,并在DHCP服务器中将可用的IP地址范围限制为网络中的电脑的数量。可以,一般来说DHCP都可以有MAC地址绑定IP的功能,先把客户机的MAC地址记下来到DHCP服务器上有绑定功能绑定MAC地址和IP就可以了,她一开机就会找到你DHCP服务器分配IP,就是你绑定的IP
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)