15简易 DHCP 服务器设定.docx
- 文档编号:5281016
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:19
- 大小:399.16KB
15简易 DHCP 服务器设定.docx
《15简易 DHCP 服务器设定.docx》由会员分享,可在线阅读,更多相关《15简易 DHCP 服务器设定.docx(19页珍藏版)》请在冰豆网上搜索。
15简易DHCP服务器设定
简易DHCP服务器设定
1.学习本章的必备技巧
2.什么是DHCP
3.DHCP的运作方式
4.什么时候需要DHCP
5.设定DHCPServer
6.设定DHCPClient
7.除错与检视租约档案学习本章的必备技巧:
欢迎再次来到鸟哥的『碎碎念时间』!
在这一篇短文里面,我们要介绍的是DHCP这个服务器。
那么DHCP是什么东西,他的原理是怎样呢?
在这之前,您必需先要了解一下整体网络的概念,所以网络基础不能不知道;再来,我们得要设定一下DHCP是吧!
所以vi不能不会用;此外,关于服务的激活啦、BASH的指令下达啦、RPM的管理模式啦、如何运用搜寻的功能啦、一些简单的防火墙啦等等的,都需要来了解与设定一番。
所以,你最起码需要知道底下这些知识:
·认识vi
·认识BASHShell
·RPM与Tarball
·认识服务
·网络基础
·常用的网络指令
·认识网络安全
·简易防火墙架设
无论如何,将前面关于Linux基础与网络基础的内容看完,会是很好的一件事情!
什么是DHCP:
在开始DHCP的说明之前,我们先来复习一下之前在『网络基础』里面提到的几个网络参数吧!
要设定好一个网络的环境,使计算机可以顺利的连上Internet,那么你的计算机里面一定要有底下几个网络的参数才行,分别是:
·IP
·netmask
·network
·broadcast
·gateway
·DNSIP
其中,那个IP,netmask,network,broadcast与gateway都可以在/etc/sysconfig/network-scripts/ifcfg-eth[0-n]这些个档案里面设定,DNSIP则是在/etc/resolv.conf里头设定。
呵呵!
只要这几个项目设定正确,那么计算机应该就没问题的可以上网了!
所以说,你家里面的3,4部计算机,你都可以手动的来设定好你所需要的网络参数,然后就可以大摇大摆的连上Internet了!
真是不错^_^,不是吗?
好了,现在让我们换一个场景吧!
假设您是学校宿舍的网络管理员,所管理的学生计算机大概有100部好了,那么你怎么设定好这100部的计算机呢?
(1)直接每一部计算机都让你登门拜访手动的去设定好?
(2)将所有的学生都集合起来,然后精神训话.....喔不!
是直接教导一下怎么设定?
还是
(3)藉由一部主机来自动的分配所有的网络参数给宿舍内的任何一部计算机?
这三种解决方案所需要的时间都不相同,如果您选择的是
(1),那么我个人认为,您不是工作狂就是疯掉了,因为所要花费的时间与你所得的薪水与付出的心力是完全不成比例的~~如果选择是
(2)那么很可能您会被挂上独裁者、没良心的管理员的称号!
如果是选择(3)呢?
恭喜您!
这个方案的管理时间花费最短,也是最不麻烦的作法啦!
呵呵!
知道我要说些什么了吗?
是的!
这个DHCP(DynamicHostConfigurationProtocol)主机最主要的工作,就是在进行前面提到的第三个方案,也就是自动的将网络参数正确的分配给网域中的每部计算机,让他们可以在开机的时候就立即自动的设定好网络的参数值,这些参数值可以包括了IP、netmask、network、router与DNS的IP等等。
如此一来,呵呵!
身为管理员的你,只要注意到这一部提供网络参数的主机有没有挂掉就好了,其它同学们的个人计算机,哈!
你想都不必想要怎么去帮忙!
因为DHCP主机已经完全都帮你搞定啦!
^_^!
阿!
当管理员最大的幸福就是可以喝喝茶、聊聊天就能控管好一切的网络问题呢!
DHCP的运作方式:
运作模式:
那么DHCP是怎么运作的呢?
现在假设我们的机器在同一个网域当中,也就是说,DHCPServer与他的Clients都在同一个网段之内,可以透过软件广播的方式来达到相互沟通的状态。
那么Client藉由DHCPServer得到IP的程序为:
1.Client端计算机在开机的时候,或者是重新激活网络卡的时候,会自动的发出DHCPClient的需求给网域内的每部计算机:
这个时候,由于发出的讯息希望每部计算机都可以接受,所以该讯息除了网络卡的硬件地址(MAC)无法改变外,需要将该讯息的来源软件地址设定为0.0.0.0,而目的地址则为255.255.255.255(这个我们Linux会自动帮你设定,无须考虑这个问题!
)。
这个时候,网域内的其它非DHCP计算机,收到这个封包之后,由于该计算机没有提供DHCP的服务,所以就会自动的将该封包丢弃而不响应;而如果是DHCP主机呢?
2.DHCP主机响应讯息:
如果是DHCP主机收到这个Client的DHCP需求时,那么DHCP主机首先会针对该次需求的讯息所携带的MAC与DHCP主机本身的设定值去比对,如果DHCP主机的设定有针对该MAC做静态IP(每次都给予一个固定的IP)的提供时,则提供Client端相关的固定IP与相关的网络参数;而如果该讯息的MAC并不在DHCP主机的设定之内时,则DHCP主机会选取目前网域内没有使用的IP(这个IP与设定值有关)来发放给client端使用!
此外,需要特别留意的是,在DHCP主机发放给Client端的讯息当中,会附带一个『租约期限』的讯息,以告诉Client端,你这个IP可以使用的期限有多长!
3.Client端接受来自DHCP主机的网络参数,并设定Client自己的网络环境:
当Client端接受响应的讯息之后,首先会以ARP封包在网域内发出讯息,以确定来自DHCP主机发放的IP并没有被占用!
如果该IP已经被占用了,那么Client对于这次的DHCP信息将不接受,而将再次向网域内发出DHCP的需求广播封包;若该IP没有被占用,则client可以接受DHCP主机所给的网络的参数,那么这些参数将会被使用于client端的网络设定当中,同时,Client端也会对DHCP主机发出确认封包,告诉Server这次的需求已经确认!
而Server也会将该信息记录下来;
4.Client端结束该IP的使用权:
当Client开始使用这个DHCP发放的IP之后,有几个情况下他可能会失去这个IP的使用权:
oClient端离线:
不论是关闭网络接口(ifdown)、重新开机(reboot)、关机(shutdown)等行为,皆算是离线状态,这个时候Server端就会将该IP回收,并放到Server自己的备用区中,等待未来的使用;
oClient端租约到期:
前面提到DHCPserver端发放的IP有使用的期限,Client使用这个IP到达期限规定的时间,就需要将IP缴回去!
这个时候就会造成断线,而Client也可以在向DHCP主机要求再次分配IP啰!
以上就是DHCP这个协议在Server端与Client端的运作状态,由上面这个运作状态来看,我们可以晓得,喝!
只要Server端设定没有问题,加上Server与Client在硬件联机上面确定是OK的,那么Client就可以直接藉由Server来取得上网的网络参数,当然啦,只要我们这些管理员能够好好的、正确的管理好我们的DHCP,嘿嘿!
那么自然上网的设定就变成一件很简单的事情啦!
IP取得的方法:
在上面的步骤里面,注意到第二步骤了吗?
就是DHCP会去比较MAC这个硬件地址,并判断该MAC是否需要给予一个固定的IP呢!
呵呵!
所以啦,我们由DHCP主机取得的IP主要有两种方式:
静态(Static)IP:
只要那个client端计算机的网络卡不换掉,那么MAC肯定就不会改变,由于DHCP可以根据MAC来给予固定的IP,所以该计算机每次都能以一个固定的IP连上Internet!
呵呵!
这种情况比较适合当这部计算机需要用来做为提供区域内的一些网络服务的主机之用。
那么如何在Linux上面知道你的MAC呢?
很简单啦!
有很多的方式,最简单的方式就是使用ifconfig及arp来进行:
·动态(dynamic)IP:
Client端每次连上DHCP所取得的IP都不是固定的!
都直接经由DHCP所随机由尚未被使用的IP中提供!
除非你的局域网络内的计算机有可能用来做为主机之用,所以必需要存在成为固定IP,否则使用动态IP的设定比较简单,而且使用上面具有较佳的弹性。
怎么说呢?
假如你是一个ISP好了,而你只申请到150个IP来做为你的客户联机之用。
那么您是否真的只能邀集到150的使用者?
呵呵!
当然不啰!
我可以邀集200个使用者以上呢!
为什么?
这样想好了,我今天开了一家餐馆,里面只有20个座位,那么是否我一餐指只能卖给20个人呢?
当然不是啦!
因为客人是人来人往的,有人先吃有人后吃,所以同样是20个座位,但是可以有40个人来吃我的简餐,因为来的时间不一样嘛!
了解了吗?
呵呵!
对啦!
你这个ISP虽然只有150个IP可以发放,但是因为你的使用者并非24小时都挂在线上的,所以你可以将这150个IP做良好的分配,让200个人来『轮流使用』这150个IP哩!
好了,那么另外一个问题,还是搞不懂,什么是『静态IP』与『动态IP』呢?
不都是由DHCP发放的吗?
让我们再来谈一个小例子好了。
目前(2002年末期)上网的主流是ADSL拨接制这种方法,其中,由于拨接制所以每次上线的IP都不一样!
这可以想成是DHCP的动态IP分配方式!
那么如果你是使用GIGA的拨接制给予的固定IP呢?
呵呵!
那个方式其实还是使用拨接之后才能得到联机啦!
只不过ISP可能经由电话号码的判断,让你每次都可以收到一个固定的IP而已!
这样可以理解了吗?
呵呵!
你可以想成,拨接到ISP就是类似client端发送一个DHCP的需求给DHCP主机,而将GIGA想成我们DHCP里面的固定IP分配方式,而Seednet之类的ISP动态给予IP的,就是DHCP里面使用的dynamicIP分配方式啦!
关于租约的行为:
怪了!
如果我们观察上面DHCP运作模式的第二个步骤,你会发现最后面还有一个租约期限!
干嘛还要这样的一个期限呢?
其实设定期限还是有个优点啦!
最大的优点就是可以避免该IP被某些使用者一直占用着,但该使用者却是Idle(发呆)的状态!
举个例子来说,我们刚刚不是说到,我有150个IP,但是偏偏我有200个用户嘛!
那么假设刚好例如今年的世界杯足球赛好了,每个使用者都急着上网知道消息,那么将会达到交通尖峰时段!
也就是说,这200个人同时要来使用这150个IP,有可能吗?
当然不可能!
肯定会有50个人无法联机,因为『很抱歉!
目前系统正在忙线中,请您稍后再拨!
』那怎么办?
这个时候租约到期的方式就很有用处啦!
那几个已经联机进来很久的人,就会因为租约到期而被迫离线,这个时候那个IP就会被释放出来,哈哈!
大家赶快抢呀!
先抢到先赢喔!
所以,那50个人(包括被迫离线的那个朋友)只好继续的、努力的、加油的来进行DHCP的要求啰!
虽然说是优点,但是其实如果站在使用者的角度来看,还是可能会造成公愤的!
凭什么大家一起交钱,我先联机进来就需要先被踢出去?
~呵呵!
这个在早期Hinet就是这点被骂的要死!
为什么呢?
因为他的ADSL拨接制,似乎真的就有这个租约到期的问题,限制的时间似乎是24小时的样子!
所以,使用HinetADSL拨接制的朋友,每24小时就要忍受一次断线!
我没有使用过Hinet的ADSL拨接制,网络上的朋友确实有响应这样的事情,但是我不确定现在(2002/11/20)Hinet是否还是用这套设定值?
这样您可以了解租约到期的行为了吗?
!
^_^
什么时候需要DHCP?
什么时候才需要架设DHCP呢?
是否每个人都最好架设一部DHCP主机呢?
那可就见仁见智啦!
接下来要告知大家的是几个概念性的问题,您倒不一定『必需』遵守底下的一些概念呢!
反正,自己的网域自己『爽』就好啦!
·什么时候最好使用DHCP?
在某些情况之下,倒是强烈的建议架设DHCP主机的!
什么情况呢?
例如:
1.您的公司内部很多Notebook计算机使用的场合!
因为这种NoteBook本身就是移动性的装置,如果每到一个地方都要去问人家『喂!
你这边的网络参数是什么?
』还得要担心是否会跟人家的IP相冲突等等的问题!
这个时候,DHCP可就是你的救星啰!
因为Notebook在使用上,当设定为DHCPclient的时候,那么只要他连接上的网域里面有一部可以动作的DHCP,那么那部notebook就可以连接上Internet了!
真好,不是吗?
!
2.网域内计算机数量相当的多时:
另外一个情况就是您所负责的网域内计算机数量相当庞大时,大到你没有办法一个一个的进行说明来设定他们自己的网络参数,这个时候为了省麻烦,还是架设DHCP来的方便吶!
况且,维护一部你熟悉的DHCP主机,要比造访几十个不懂计算机的人要简单的多哩!
^_^
·什么情况下不建议使用DHCP主机?
虽然DHCP有很多好处,但是您有没有发现一个步骤怪怪的呀!
回头看一下那个步骤一,Client在开机的时候会主动的发送讯息给网域上的所有机器,这个时候,如果网域上就是没有DHCP主机呢?
很抱歉,那么你的这部Client端计算机,『仍然会持续的发送讯息!
』真正的时间与次数我不晓得会有多久,不过,肯定会超过30秒以上,甚至可以达到一分钟以上!
哇!
那么这段时间你能干嘛?
呵呵!
除了等、还是等!
所以啰,如果计算机数不多,还是使用手动的方式来设定一下就好了!
方便嘛!
1.在你网域内的计算机,有很多机器其实是做为主机的用途,很少Client需求,那么似乎就没有必要架设DHCP;
2.更极端的情况是,像一般家里,只有3~4部计算机,这个时候,架设DHCP只能拿来练练功力,事实上,并没有多大的效益;
3.当你管理的网域当中,大多网络卡都属于老旧的型号,并不支持DHCP的协议时;
4.很多使用者的信息知识都很高,那么也没有需要架设DHCP啦。
如前所述,上面的都是概念性的说法,事实上,一件事情的解决之道是有很多的方案的,没有所谓的『完全正确』的方案,只有『相对可行、并且符合经济效益与功能』的方案!
所以啰,架设任何网站之前,请先多评估评估吶!
设定DHCPServer:
好不容易!
终于到了要架设DHCPServer的时候了,哇!
好感动.....咦!
鸟哥怎么老是在唱单口相声.
其实要设定好一个DHCP主机还真是蛮简单的,只要设定一个档案即可!
但是前面的确认工作请先仔细的查验好!
1.确认硬件的联机没有问题:
这可是架设网站的第一个重点!
如果你的硬件没有搞定,那么软件再怎么厉害,呵呵!
也是没有用的啦!
目前我的架构就像底下这样,我的Linux主机上面有两张网络卡,一张对内一张对外喔!
2.确认dhcp的相关套件已经安装好了:
如果您还不知道如何确认你的主机上面是否已经安装了某个套件,很抱歉,请不要学习架站啦!
我们这里以RPM档案及使用Mandrake9.0为范例说明,使用rpm来查询吧!
看到了吧!
我们需要的套件就是这三个啰!
如果没有安装的话,请拿出您的原板光盘(不论是那个Linuxdistribution,应该都是这三个套件名称啦!
只是后面的版本可能不一样就是了!
但是,需要注意的是,在RedHat上面,这三个套件被整合成为一个,亦即是dhcp-xxxx.rpm的档案就是了!
),先挂载上去,然后就以rpm给他安装啦!
什么?
不知道如何搞定RPM?
参考这里『RPM与Tarball的使用』。
3.确认dhcp相关设定档案摆放的路径:
请您特别留意的是,不同的Linuxdistribution中,每个套件的设定文件放置的位置都不相同,例如OpenLinux使用的dhcp设定档放置在/etc/dhcpd/dhcpd.conf,而RedHat与Mandrake则放在/etc/dhcpd.conf里头!
那么我要怎么确认呢?
呵呵,因为我知道设定档案与server有关,所以当然是查询dhcp-server这个套件啰,要查询设定档,可以加上c的参数,所以:
知道那个/etc/dhcpd.conf.sample是范例文件,注意,我们的DHCP设定档之档名为dhcpd.conf,所以啰,马上就知道我们的设定档案即为/etc/dhcpd.conf啰!
咦!
这个档案不存在哪!
没有关系,我们要自动的建立这个档案喔!
除此之外,如果您是使用RPM安装的DHCP,那么察看一下/etc/rc.d/init.d/dhcpd这个scripts的内容,也可以知道设定参数文件的位置,甚至修正他的位置呢!
4.设定dhcpd.conf设定档:
好了,那么来到最重点啦!
我们的DHCP就只要设定这个档案即可!
那么这个档案如何设定呢?
基本上,我们刚刚前面提过说,DHCP的IP分配可分为给予动态IP与静态IP,其中,又需要了解的是,如果需要设定静态IP的话,那么就必须要知道要设定成静态IP的那部计算机的硬件地址(MAC)才行,请使用arp及ifconfig来查知您的接口的MAC吧!
此外,我们需要设定的项目大概有几项:
o整体设定(Global):
里面含有租约期限啦、或许还有DNSIP与router的设定等等内容;
o动态IP设定:
使用subnet的项目与range的参数来设定要分配出去的IP!
请先确认好您的网段喔!
o静态IP设定:
使用host这个项目段,配合MAC来设定!
在dhcpd.conf这个档案里头有些地方要特别留意:
o『#』为批注符号;
o除了括号那一行之外,其它的每一行后面都要以『;』做为结尾!
这很重要!
那么我的网络环境是怎样呢?
o目前我的内部网段设定为192.168.1.0/24这一段,且router为192.168.1.2,此外,DNS的IP为中华电信的168.95.1.1及Seednet的139.175.10.20这两个;
o我想要让每个使用者预设租约为3天,最长为6天;
o我只想要分配的IP只有192.168.1.21到192.168.1.100这几个,其它的IP则保留下来;
o我还有一部主机,他的MAC是『00:
40:
95:
30:
43:
B4』,我要给他的主机名称为vbird-inside,且IP为192.168.1.5这个。
则,我的设定档为:
在Global的设定当中,也就是不在subnet与host的括号内的设定资料,就是可以被视为『预设』的资料啦!
也就是说,当subnet里头没有写到租约期限啦、没有写到domain-name啦,那么这个Global的设定就会自动被拿去做为该设定内的设定内容啰!
5.建立租约期限档案:
既然我们知道DHCP是由用户与主机端之间的租约是否到期来进行是否继续联机的动作,那么自然就有所谓的『签约仪式』啰!
哈哈!
真会掰!
这个时候,我们就得要知道一下,那么我到底要在哪里设定这个租约期限档案呢?
如果在比较早期的版本中,这个步骤一定要进行的!
不过,目前的版本中,似乎预设已经有这个租约期限档案了!
无论如何,还是作一下比较安心啦!
这个档案倒是蛮有趣的!
因为在实际的运作过程中,这个档案本身不会有什么作用,但是在激活了DHCP之后,这个档案会被copy一份成为底下的档案:
『/var/lib/dhcp/hdcpd.conf』而真正在记录的,其实就是这个/var底下的档案啦!
后面我们再来看一下这个档案的内容吧!
目前还不会用到这个档案的内容啰!
6.编辑scripts内容:
咦!
不是可以激活了吗?
喔不~我们还得要检查一下,你要提供DHCP的接口是哪一个呢!
就如同我上面的图标,基本上,我的主机是有两块网络卡的,一块对外一块对内,而我只对这个对内部的网络卡激活DHCP,因此,我可以修改一下我的/etc/rc.d/init.d/dhcp这个档案:
注:
我是以Mandrake9.0为例来说明的,如果您是使用RedHat或者是OpenLinux等其它版本时,你应该可以找到『daemon/usr/sbin/dhcpd』那一行,将他改成底下的样子也就可以啦!
基本上,上面的/etc/dhcpd.conf设定档案的所在目录是可以变动的!
就在这里进行更动即可!
你可以使用mandhcpd就可以知道每个参数代表的意义了!
请注意,那个start()里面的信息,只要更动找到的daemon....那一行即可!
至于上面的参数设定内容,则可以参考BASH的变量设定方法来写!
目前因为我们只要针对eth0来启用DHCP而已,所以上面INTERFACES的部分我就写入了eth0而已,如果你还要激活eth1的话,那么就需要:
『INTERFACES="eth0eth1"』两个接口中间以空格符来隔开!
这样,大致上就已经设定妥当了!
准备来去激活啦!
7.激活DHCP服务:
激活服务的方法不需要再教了吧!
?
直接给他执行刚刚改过的scripts即可:
注意屏幕前面要显示OK才可以呢!
好了,除此之外,我们还要确认DHCP已经激活才行!
8.确认正确的激活DHCP:
观察激活的port号与登录文件的讯息:
要注意的是,虽然我们已经驱动了script了,不过,你仍然不会知道,那个script是否真的让你的service激活了哪?
所以,在激活任何的服务之后,观察一下两个东西,一个是port是否以激活,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 15简易 DHCP 服务器设定 15 简易 服务器 设定