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,因为客户机<
仅仅悬赏5分,还要截图,这样有人回答才怪了,我直接给你贴出来例子,然后照做吧,一看就是linux课后作业。
今天来说一下在RHEL54中搭建DHCP的过程,DHCP服务器的主要作用就是为客户机分配IP地址,搭建DHCP服务器的具体步骤如下:一、首先确定你的系统中已经安装好DHCP包,如果安装好了,那么就可以继续下一步配置了,相反,就得到相应的网站去下载最新版本。可以使用命令“rpm -qa |grep dhcpd”来查看DHCP软件包是否安装上了。如果没有安装好,那么可以把系统光盘挂载到系统里面,然后使用命令”rpm -vih dhcp-”来安装DHCP软件包。
二、配置DHCP服务器的IP地址,可以使用VI编辑器来编辑"/etc/sysconfig/network-scripts/ifcfg-eth0"来配置IP地址,如:要给eth0配置一个19216801的IP地址,那么这个配置文件可以这么改:
DEVICE=eth0 //为此网卡配置的IP地址;
BOOTPROTO=static //这个网卡接口是静态IP地址还是动态IP地址,静态为static,动态为dhcp;
HWADDR=00:0C:29:3A:E3:B7 //此网卡的MAC地址;
IPADDR=19216801 //静态IP地址;
NETMASK=2552552550 //上面IP地址的子网掩码;
三、配置好IP地址后,使用命令“service network restart”来重启网络服务以使IP地址生效。
四、IP地址弄好后,然后就是修改DHCP服务的配置文件,默认DHCP的主配置文件存放在目录“/etc/dhcpdconf"里,当我们第一次编辑此配置文件时,配置文件里会提示我们可以参考“/usr/share/doc/dhcp*/dhcpdconfsample“帮助文件,我们只要使用命令”cp /usr/share/doc/dhcp/dhcpdconfsample /etc/dhcpdconf“把那个帮助文件拷到etc下面进行覆盖,然后再进行配置。
注意:那个*是指DHCP软件包的版本号,而不是通配符。
五、到这一步就可以对配置文件进行修改来实现DHCP服务的运用了。在修改之前我们首先来看一下这个文件中的一些参数各代表什么意义:
1声明:
DHCP配置文件中的declaration(声明),用来描述dhcpd服务器中对网络布局的划分,是网络设置的逻辑范围,常用的声明具体如下:
shared-network:用来告知是否为一些子网络分享相同网络。
subnet:描述一个IP地址是否属于该子网。
range:用来提供动态分配IP地址的范围。
host:需要进行特别设置的主机,如为LAN中的某个打印机服务器配置一个固定的IP地址。
group:为一组参数提供声明。
allow unknown-clients; deny unknown-clent:是否动态分配IP地址给未知的使用者。
allow booting;deny booting:是否响应使用者查询。
filename:开始启动文件的名称,应用于无盘工作站。
next-server:设置服务器从引导文件中装入主机名,应用于无盘工作站。
2参数:
ddns-update-style:配置DHCP-DNS为互动更新模式。
default-lease-time:指定默认的租约时间的长度,单位为秒。
max-lease-time:设置最大租约时间长度,单位同样为秒。
hardware:设置网卡接口类型和MAC地址。
server-name:告知DHCP客户服务使用的IP地址。
get-lease-hostnames flag:检查客户端使用的IP地址。
fixed-address ip地址:分配给客户端一个固定的IP地址。
authritative:拒绝不正确的IP地址的要求。
3选项:
subnet-mask:为客户端设定子网掩码。
domain-name:为客户端指明DNS名称。
domain-name-server:为客户端指定DNS服务器的IP地址。
hostname:为客户端指定主机名称。
routers:为客户端设定默认网关。
broadcast-address:为客户端设定广播地址。
ntp-server:为客户端设定网络时间服务器IP地址。
time-offset:为客户端设定和格林威治时间的偏移时间,单位为秒。
六、弄明白各个参数及选项的作用后,我们就可以搭建DHCP服务器了,下面以一个简单的实例来演示如何搭建一个DHCP服务器。
假设一个公司的局域网络,在该网络中需要使用DHCP服务器,要求对DHCP服务器进行以下设置:
1网络中IP地址的网段为:19216810。
2子网掩码为:2552552550
3动态分配的IP地址区间为:1921681100-1921681254。
4DNS服务器的IP地址为:192168110。
5默认网关为:192168111。
6公司的打印机服务器IP地址要求为固定IP:19216815。
根据以上条件,修改/etc/dhcpdconf配置文件的内容如下:
ddns-update-style none;
ignore client-updates;
subnet 19216810 netmask 2552552550 {
option routers 192168111;
option subnet-mask 2552552550;
option domain-name "liweicom";
option domain-name-server 192168110;
range 1921681100 1921681254;
default-lease-time 21600;
max-lease-time 43200;
host print {
hardware ethernet 00:0C:12:0F:1D:CE; //打印服务器的MAC地址;
fixed-address 19216815;
}
}
七、上面就是根据实例中公司的需求来修改的配置文件,修改好后退出。然后建立客户租约文件,因为运行DHCP服务器程序还需要一个名为dhcpdleases的客户租约文件,在这个文件中保存了所有已经分配出去的IP地址。dhcpdleases文件默认位于/var/lib/dhcpd目录中,通过RPM包安装的DHCP服务器程序,默认有这个文件,如果不是RPM包安装的,而是tar包等安装的,那么就必须手动创建这么一个文件,不然DHCP服务启动不起来。
八、启动dhcpd服务,配置客户端。可以使用service dhcpd restart来重启dhcpd服务。客户端配置可以分为两种,一种是linux客户端,另一种是windows客户端,当然也许还有别的客户端类型,不过应该不多,linux客户端中需要手动修改/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,把选项BOOTPROTO=dhcp改成这样,然后重启一个网络服务。而在windows客户端里有两种方法,一是在配置IP地址那里选择自动获得,二是在开始——》运行里输入cmd命令,在打开的终端中输入命令:ipconfig /release ,然后再输入ipconfig /renew来自动获得IP地址。当然做这些之前得保证客户机到DHCP服务器的网络是互通的。
九、做完上面这些后,你的DHCP服务器一般就可以使用了,如果不可以使用,那么根据出错的提示来进行排错。
这是Windows DHCP最佳实践和技巧的最终指南。
如果您有任何最佳做法或技巧,请在下面的评论中发布它们。
在本指南(一)中,我将分享以下 DHCP最佳实践和技巧 。
一般建议不要在域控制器上运行除DNS以外的任何其他角色。您的域控制器应该是域控制器/ DNS,就是这样。小型组织通常会在其域控制器上安装其他角色和第三方软件。建议您尽可能避免这种情况。
有什么问题
在DC上安装其他服务会增加攻击面,使其难以管理,并可能导致性能问题。
安装了多个角色的域控制器很难管理。这通常会导致不稳定和服务中断。
例如,假设您在使用DHCP时遇到问题,或者安装了需要重新启动的安全补丁。重新引导具有Active Directory域服务角色的服务器可能会对组织造成重大破坏。这可能会影响身份验证,复制,组策略和DNS。如果DNS关闭,您的用户将无法访问任何内容。
如果您有多个域控制器并且配置正确,则可以避免这些问题,但是为什么要冒险呢?
如果在自己的服务器上安装了DHCP,则可以重新启动DCHP服务器,而不必担心会影响域控制器上的服务。
在自己的成员服务器上安装DHCP将减少DC的攻击面。
通常,我已经看到DHCP服务器运行非常高效,并且不需要大量系统资源(例如CPU或内存)。
但是,假设您刚刚了解了新的DHCP选项(例如冲突检测),然后将其打开了所有作用域。现在,CPU使用率激增,域服务变慢,用户无法登录,DNS请求也变慢。
也许您安装了IPAM来跟踪可用的IP地址,并且占用了CPU和内存,从而再次占用了域服务的资源。
我可以继续假设很多情况,但是要指出的是,您在域控制器上安装的软件/服务越多,对性能的影响就越大,并导致服务中断。
DHCP故障转移是用于确保DHCP服务器的高可用性的功能。通过DHCP故障转移,两台DHCP服务器共享DHCP信息,因此,如果一台服务器发生故障,另一台服务器仍可以为客户端提供DHCP租约。
DHCP故障转移选项内置在Windows服务器 *** 作系统中。下图显示了两个配置有负载平衡故障模式的DHCP服务器的设置。如果一台服务器发生故障,另一台服务器仍处于活动状态并接管所有DCHP请求。
有两种故障转移设计选项:
使用热备用模式时,一台服务器是活动服务器,另一台是备用服务器。活动服务器是主服务器,并处理所有DHCP请求。如果活动服务器关闭,则备用服务器将接管DHCP请求。
该选项通常与备用单元位于与主用单元不同的位置时使用。
在负载平衡模式下,两台服务器均以双活模式工作以处理DHCP请求。请求是负载平衡的,并在两个DHCP服务器之间共享。如果其中一台服务器与其故障转移伙伴失去联系,它将开始向所有DHCP客户端授予租约。
资料来源
>OpenWrt编译需要考虑具体的应用场景和需求,不同的用户可能需要的软件包也不同。一般来说,以下是一些必须编译的软件包:
kernel:OpenWrt的内核,必须编译。
base-files:OpenWrt的基础文件系统,包括一些基础配置文件和脚本等。
busybox:一个集成了大量UNIX工具的类似Linux shell的工具集,OpenWrt中使用广泛。
uci:OpenWrt的配置界面,用于对路由器进行配置。
netifd:网络接口管理器,用于管理网络接口,如无线网络、以太网、VLAN等。
wireless-tools:无线网络配置工具,用于配置和管理无线网络。
iptables:Linux的防火墙软件,用于管理网络访问控制。
dnsmasq:一个轻量级的DNS和DHCP服务器,用于提供DNS和DHCP服务。
dropbear:一个轻量级的SSH服务器和客户端,用于远程登录和文件传输等。
luci:OpenWrt的Web管理界面,用于对路由器进行配置和管理。
除了以上必须编译的软件包,还可以根据具体的需求选择其他需要的软件包进行编译。例如,如果需要使用USB存储设备,可以编译kmod-usb-storage等相关软件包;如果需要使用UPnP功能,可以编译miniupnpd等相关软件包。
1、首先我们打开电脑网络的本地连接状态窗口页面,在页面上可以看到“属性”,
2、点击“属性”,d出本地连接的属性窗口页面,在页面上选中“INTERNET 协议版本4( TCP/IPV4) ”。
3、选中协议后,点击“属性”,d出INTERNET 协议版本4( TCP/IPV4)的属性窗口页面,在页面上将我们电脑的IP地址设置为自动获取。
4、然后打开电脑的浏览器,在浏览器的地址栏中键入“19216801”或者“19216811”,进入到路由器的登录页面,在页面上输入路由器的用户名和密码完成登录,默认的用户名和密码是"admin"。
5、登录完成后,在页面的菜单栏中可以找到“路由器设置”。
6、点击进入到路由器设置的设置页面,在页面菜单中可以找到“DHCP服务器”。
7、点击“DHCP服务器”,进入到DHCP服务器设置的页面,在页面上可以看到开启和关闭DHCP服务器的功能。我们只需要选择开启,即可将dhcp服务器设置为开启的状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)