Linux下DHCP服务器配置

简介:

DHCP简介:

DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。


DHCP三种工作模式 :


1.Manual Allocation


网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期,其特点:地址利用率低,管理员的工作量大


2.Automatic Allocation


自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。其特点:地址利用率较低,


3.Dynamic Allocation


动态分配,当 DHCP 第一次从 HDCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。其特点:地址分配较灵活,地址利用率高


注:考虑实际需要,第一种和第三种结合可谓是最好的地址管理方式。


DHCP的工作原理:


DHCP工作过程分为四个步骤:


第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,


第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。


第三步(DHCPREQUEST):客户端收到广播后再用广播发送一个dhcprequest消息给服务器,之所以用广播,是因为它不但要通知所挑选到的dhcp服务器,也必须通知没有被选上的其他dhcp服务器,以便这些dhcp服务器将其原本欲指派给此客户端而保留的ip地址释放出来,供其他dhcp客户端使用。

第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。



注意:dhcp服务器处于10.0网段,地址池处于30.0网段,且就单个作用域,这样即便在一个广播域内,客户端也无法获得ip

DHCP配置:


实验环境:VMware RedHat-5.4


案例一(单个作用域):


该案例拓扑图(因均在vnet1下,并不过路由,故如下图):


195148304.jpg



1.安装dhcp,由上一篇已经正确对yum服务器进行了正确的配置所以,直接用yum源来安装即可,终端执行yum install dhcp


如下图即正确安装


231626510.png


2.编辑配置文件/etc/dhcpd.conf初始状态下,其为空,可用vim打开后,在末行模式下输入"r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample"


如下图:


231530993.png


详细配置信息如下:


ddns-update-style interim; //配置DHCP和DNS为互动更新模式,


ignore client-updates; //忽略客户端的更新。


subnet 192.168.142.0 netmask 255.255.255.0 { //定义作用域


option routers 192.168.142.20; //默认路由


option subnet-mask 255.255.255.0; //子网掩码


option nis-domain "liuyuan.org"; //NIS域名


option domain-name "liuyuan.org"; //DNS域名


option domain-name-servers 192.168.142.20; //DNS服务器地址


option time-offset -18000;

# Eastern Standard Time //为客户端设置与格林威治的时间偏移


#下面两项因本实验没用,所以注释掉了


# option ntp-servers //网络时间服务器地址


# option netbios-name-servers //指定WINS服务器地址

range dynamic-bootp 192.168.142.20 192.168.142.254;

//动态分配的地址范围

default-lease-time 21600; //默认租约时间


max-lease-time 43200; //最大租约时间


host windosxp{ //指定特定主机


hardware ethernet 00:0C:29:FD:44:C8; //硬件地址


fixed-address 192.168.142.200; //IP地址


}


}


如下图:


233453632.png

3.启动dhcp服务并设置开机启动,/etc/init.d/dhcpd restartchkconfig dhcpd on


231655974.png


4.测试验证(以windows):如下图:


注:做测试时,一定做将本机的Vmware DHCP service服务关闭,避免对实验造成影响。具体操作:在运行下输入services.msc进入服务,找到服务将其关闭。

231703132.png

5.如果我们这台主机想每次均获得192.168.142.200,应该怎么办呢?其实也容易,用dhcp的地址绑定这个问题这很容易解决了,


由上图可知,这台测试主机的ip192.168.142.254,我们可以通过查看/var/lib/dhcpd/dhcpd.lease文件来获得其MAC地址,打开/var/lib/dhpc/dhpcd.lease文件如下图(局部图):


154334735.png


6.然后根据这个MAC进行绑定修改配置文件如下图:


154343209.png


7.重启dhcp服务,进行测试,如下图,正确获得了192.168.142.200,测试成功,


154401129.png


案例二,作用域

多作用域环境主要指DHCP服务器需要为一个以上网段的DHCP客户端分配IP地址。主要有两种类型:服务器只有一个接口,通过路由器等设置与其他网段的DHCP客户端连接;DHCP服务器有至少两个网络接口,分别连接需要DHCP客户端所在的每个网段。


本案例以超级作用域为例,来管理多作用域的工作


案例背景:由于c类网络地址的限制,若某公司有1000多个用户,简单地单个作用就无法满足需求,故就引出了多作用域存在的必要性,而超级作用域是DHCP服务器的一种管理功能,使用它可以将多个作用域组合为单个管理实体,方便统一管理。


实验拓扑图如下:

195337148.jpg

实验步骤:


1.如案例1一样正确安装dhcp服务器,


2.如下修改dhcp的配置文件,为达到测试的效果,每一个地址池内仅有一个可用ip,


213617982.png


3.重启dhcp服务并进行测试,(两台windows主机均设置在vnet1下,)


测试机一从192.168.142.0中获得192.168.142.3

212456442.png

测试机二从192.168.141.0中获得192.168.141.3

212515471.png

ps:超级作用就相当于一个大的地址池,里面有很多的ip地址和ip段,本实验并没有配置网关,因网关是负责网络通信的,而本实验中dhcp服务器与测试客户机是处于同一个网络中,并且其目的是为客户机正常分配ip地址,它并不关注你们之间是否能够通信,故在做实验时,会觉得网关的设置似乎没有限制,哦,那你就错了,因为实验中你并没有实验客户机间的通信,只是正确获得了ip地址,若你想测试客户机间能够通信,则必须正确网关参数了。


案例三,中继代理


在整个DHCP租约产生的过程中,DHCP客户端与DHCP服务器之间都是使用广播,这样会产生一个问题,如果DHCP客户端与DHCP服务器之间需要跨越子网时,子网间的路由器必须支持RFC 1542文档的定义。当然DHCP中继代理来帮助转发DHCP客户端与DHCP服务器之间的广播包。


如图所示,某公司有两个部门:技术部tec和市场部mkt,两个不能分处不同vlan,服务器vlan中有一台dhcp服务器,现要求使用该dhcp服务器为技术部和市场部提供ip地址。

实验环境:使用一台linux主机作为路由器,另一台linux主机作为dhcp服务器,将linux路由器的三个网卡分别处于不同的vnet来模拟vlan的环境:接口eth0处于vnet1,eth1 处于vnet2,eth2处于vnet3.实验示意图如下:001530471.png


1.安装dhcp服务器 (yum install dhcp,)

并正解配置服务器ip地址:192.168.142.2/24,网关:192.168.142.3

2.修改dhcp主配置文件/etc/dhcpd.conf

221446470.png

注:修改时一定要声明空作用域

221550493.png

3.测试dhcp服务语法,并重启服务

221711652.png

到此dhcp服务器有

下面就是另一台linux主机做路由器的主机的配置了

1.为其添加网卡,如图:

224118777.png

2.首先根据环境,如拓扑图表示,正确设备eth0,eth1,eth2的ip地址,

eth0:192.168.142.3/24

eth1:192.168.10.254/24

eth2:192.168.20.254/24

3.安装dhcp软件包(yum install dhcp -y),修改/etc/sysctl.conf

将 net.ipv4.ip_forward= 0改为1;

222154508.png

用sysctl -p命令使其设置生效;

4.修改/etc/sysconfig/dhcrelay,设定允许dhcp中继的端口;

225720560.png

5.启动服务service dhcrelay start,并用netstat -tulp查看端口是否已经正常打开。

6.测试,

a.首先将测试机改到vnet2下,该pc获得192.168.20.253,为mkt.org域内的

222718649.png

b.将测试机改到vnet3下,该pc获得192.168.10.253,为tec.org域内的

222730601.png

c.以linux客户机做测试,在vnet2,dhclient获得192.168.20.252

222745134.png

测试正确,配置完成,实验过程中错误的检测,可以通过查看综合日志一般均可以解决,

PS:自己对超级作用域和中继代理的理解,

超级作用域因其可以让DHCP有多个作用域(多个IP段),故可以很好地解决IP地址不够用的情况,超级作用域强调的是多少,而不是谁拥有哪个IP,形象化一点就是它就像一个大池子,只要有来要IP地址的,并且存在空闲的可用IP,它就会将IP给请求者;

中继代理呢,它存在则是为了方便管理,节约资源。比如:一个大公司下有一个小公司它不可能在为小公司单独建一个DHCP服务器,但是又为了方便管理,使小公司内部获得的IP均为同一IP段,则中继代理则是存在的就很好地解决了这个问题。

其时,超级作用域和中继代理都是多作用域的一种运用,故很好地理解它们,应用起来自然也就容易了。




本文转自 刘园  51CTO博客,原文链接:http://blog.51cto.com/colynn/1022653

相关文章
|
23天前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
82 14
|
4月前
|
安全 Java Linux
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
112 0
|
2月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
1月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
81 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
2月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
124 24
|
2月前
|
网络协议 安全
DHCP服务器配置
DHCP(动态主机配置协议)是一种用于自动分配IP地址及相关网络参数的协议,旨在简化网络管理、减少手动配置的工作量并避免IP地址冲突。其工作过程包括发现、提供、请求和确认四个阶段,确保设备快速安全接入网络。关键概念包括IP地址池、租约、作用域和静态分配等。DHCP通过自动化、动态性和冲突避免等功能,支持网络设备高效接入与管理。
211 21
|
2月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
3月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
277 28
|
3月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
189 28
|
3月前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
200 20

热门文章

最新文章