Linux应用 DHCP服务器的安装和故障排除
DHCP服务器的工作【de gōng zuò】原理【yuán lǐ】📑
DHCP简介🍑
DHCP的前身【de qián shēn】是🔅BOOTP,它工作【tā gōng zuò】在🌛OSI的【de】应用层,是一种【shì yī zhǒng】🙊帮助计😜算机从【suàn jī cóng】🎚指定的【zhǐ dìng de】DHCP服务器【fú wù qì】😟获取配👄置【zhì】信息的【de】🏏自举协议。DHCP使用客户端【hù duān】/服务器【fú wù qì】😟模式🐔,请求配🎛置【zhì】信息的【de】🏏计算机叫做“DHCP客户端【hù duān】”,而提供信息的【de】🏏叫做“DHCP服务器【fú wù qì】😟”。DHCP为客户😠端分配地址的【dì zhǐ de】方法有【fāng fǎ yǒu】3种,即手工配置【zhì】🔗、自动配【zì dòng pèi】置【zhì】🔗和动态配置【zhì】🔗。DHCP最重要的【de】功能🕳就是【jiù shì】🔅动态分【dòng tài fèn】配,除了IP地址,DHCP还为客【hái wéi kè】🐧户端提【hù duān tí】🧗供其他的配置【de pèi zhì】❄信息,如子网掩码,从而使得客户【dé kè hù】端无须用户动【yòng hù dòng】手即可自动配【zì dòng pèi】置【zhì】🔗并连接【bìng lián jiē】网络。
为什么使用DHCP
DHCP在快速【zài kuài sù】🛎发送客【fā sòng kè】户网络配置方【pèi zhì fāng】面很有用【yòng】🗞,当配置客户端【kè hù duān】📉系统时🤵,若管理👄员选择⤵DHCP,则不必🖌输入🌷IP地址、子网掩码🙊、网关或【wǎng guān huò】❕DNS服务器【fú wù qì】🚁,客户端【kè hù duān】📉从【cóng】DHCP服务器【fú wù qì】🚁中【zhōng】👸检索这些信息🖐。DHCP在网络🔭管理员😰想改变【gǎi biàn】大量系统⏭的IP地址时【dì zhǐ shí】🐠也有用【yě yǒu yòng】✨,与其重新配置所有系【suǒ yǒu xì】统⏭,不如编♈辑服务【jí fú wù】器【qì】🚁中【zhōng】👸的一个用【yòng】🗞于新IP地址集合的DHCP配置文【pèi zhì wén】🤩件。如果某【rú guǒ mǒu】机构的🀄DNS服务器【fú wù qì】🚁改变【gǎi biàn】,这种改⛔变只须在DHCP服务器【fú wù qì】🚁中【zhōng】👸,而不必在DHCP客户端【kè hù duān】📉上进行🏐。一旦客户端【kè hù duān】📉的网络【de wǎng luò】被【bèi】🦓重新启【chóng xīn qǐ】动(或客户端【kè hù duān】📉重新引导系统⏭),改变【gǎi biàn】就会生效。除此之【chú cǐ zhī】外,如果便【rú guǒ biàn】携电脑【xié diàn nǎo】或任何类型的可移动计算机被【bèi】配置使用【shǐ yòng】🗞DHCP,只要每🥙个办公⏮室都有一个允许其联网的♍DHCP服务器【fú wù qì】🚁,它就可以不必【yǐ bú bì】重新配置而在办公室❗间自由移动。
DHCP的工作流程
1.发现阶段
即DHCP客户端🚆查找【chá zhǎo】DHCP服务器【fú wù qì】🥚的阶段。客户机【kè hù jī】💴以广播㊙方式(因为DHCP服务器【fú wù qì】🥚的IP地址【dì zhǐ】🔟对于客户♋端来说🐔是未知【shì wèi zhī】的)发送DHCP discover信息【xìn xī】⛷来查找【chá zhǎo】DHCP服务器【fú wù qì】🥚,即向地🔟址【zhǐ】🔟255.255.255.255发送特定的广【dìng de guǎng】播信息【xìn xī】⛷。网络上【wǎng luò shàng】🤱每一台安装了TCP/IP的主机都会接【dōu huì jiē】收到这【shōu dào zhè】种广播【zhǒng guǎng bō】信息【xìn xī】⛷,但只有🙇DHCP服务器【fú wù qì】🥚才会做出响应🌿。
2.提供阶段
即DHCP服务器提供IP地址的【de】阶段🔓,在网络【zài wǎng luò】中接收【zhōng jiē shōu】到DHCP discover信息📶的【de】DHCP服务器都会做【dōu huì zuò】🚼出响应【chū xiǎng yīng】💞。它从尚未出租【wèi chū zū】的【de】IP地址中【dì zhǐ zhōng】🏹挑选一【tiāo xuǎn yī】🥫个分配给🥁DHCP客户端🐤,向其发⚫送一个包含出租的【de】IP地址和【dì zhǐ hé】其他设置的【de】DHCP offer信息📶。
3.选择阶段
即DHCP客户端【kè hù duān】选择某🌹台DHCP服务器【fú wù qì】🏙提供的【tí gòng de】IP地址的【dì zhǐ de】🃏阶段。如果有多台🎢DHCP服务器【fú wù qì】🏙向DHCP客户端【kè hù duān】发送🧑DHCP offer信息【xìn xī】,则【zé】💲DHCP客户端【kè hù duān】只接受第【dì】🍴1个收到的DHCP offer信息【xìn xī】。然后它就以广【jiù yǐ guǎng】🕤播方式回答【huí dá】🛋一个DHCP request信息【xìn xī】,该信息【xìn xī】中包含【zhōng bāo hán】👰向它所🌀选定的🎵DHCP服务器【fú wù qì】🏙请求【qǐng qiú】IP地址的【dì zhǐ de】🃏内容。之所以要以广【yào yǐ guǎng】播方式回答【huí dá】🛋,是为了【shì wéi le】通知所有DHCP服务器【fú wù qì】🏙,它将选择某🌹台DHCP服务器【fú wù qì】🏙所提供【suǒ tí gòng】🔣的IP地址🎁。
4.确认阶段
即DHCP服务器【fú wù qì】🔲确认所提供的【gòng de】🅰IP地址【dì zhǐ】👞的阶段【de jiē duàn】🦅。当🚍DHCP服务器【fú wù qì】🔲收到🐜DHCP客户端【kè hù duān】⤴回答的【huí dá de】DHCP request信息之😢后【hòu】🏍,它向DHCP客户端【kè hù duān】⤴发送一🎚个包含其所提供的【gòng de】🅰IP地址【dì zhǐ】👞和其他设🍫置的DHCP ACK信息,告诉DHCP客户端【kè hù duān】⤴可以使用该【yòng gāi】IP地址【dì zhǐ】👞,然后【hòu】🌙DHCP客户端【kè hù duān】⤴便将其TCP/IP与网卡【yǔ wǎng kǎ】绑定。另外【wài】,除DHCP客户端【kè hù duān】⤴选中的【xuǎn zhōng de】服务器【fú wù qì】🔲外【wài】,其他的DHCP服务器【fú wù qì】🔲都将收【dōu jiāng shōu】回曾提【huí céng tí】供的【gòng de】🅰IP地址【dì zhǐ】👞。
5.重新登录
以后【yǐ hòu】DHCP客户端【kè hù duān】🥞每次重【měi cì chóng】新登录【xīn dēng lù】😾网络时【wǎng luò shí】🍌,不需要发送🍼DHCP discover信息【xìn xī】🏑,而是直接发送🍼包含前一次所🍯分配的【de】💼IP地址【dì zhǐ】👰的【de】💼DHCP request信息【xìn xī】🏑。当DHCP服务器🐌收到这一信息【xìn xī】🎦后【hòu】,它会尝试让🕐DHCP客户端【kè hù duān】🥞继续使【jì xù shǐ】用原来👠的【de】💼IP地址【dì zhǐ】👰,并回答一个⏪DHCP ACK信息【xìn xī】🏑。如果此IP地址【dì zhǐ】👰已无法再【zài】😋分配给【fèn pèi gěi】原来的【de】🕛DHCP客户端【kè hù duān】🥞使用(比如此👭IP地址【dì zhǐ】👰已分配【yǐ fèn pèi】给其他【gěi qí tā】😐DHCP客户端【kè hù duān】🥞使用),则DHCP服务器🐌给【gěi】DHCP客户端【kè hù duān】🥞回答一个⏪DHCP NACK信息【xìn xī】🏑。当原来的【de】🕛DHCP客户端【kè hù duān】🥞收到此信息【xìn xī】🏑后【hòu】,必须重【bì xū chóng】🤼新发送🍼DHCP discover信息【xìn xī】来🅰请求新【qǐng qiú xīn】的【de】💼IP地址【dì zhǐ】👰。
6.更新租约
DHCP服务器向【xiàng】DHCP客户端【kè hù duān】出租的🈷IP地址一般都有一个租借期限🚽,期满后💥DHCP服务器便会收【biàn huì shōu】回该【huí gāi】IP地址。如果🎬DHCP客户端【kè hù duān】要延长其【qí】IP租约,则必须【zé bì xū】更新其【qí】IP租约。DHCP客户端【kè hù duān】启动时🛶和IP租约期【zū yuē qī】限过一🎍半时⛱,DHCP客户端【kè hù duān】都会自【dōu huì zì】🐥动向【xiàng】🚡DHCP服务器发送更【fā sòng gèng】新其【qí】IP租约的🤣信息🧠。
DHCP的设计目标
(1)DHCP应该是一种机制而不【zhì ér bú】😹是策略,它必须【tā bì xū】允许本【yǔn xǔ běn】🏑地系统管理员【guǎn lǐ yuán】控制配置参数【zhì cān shù】,本地系🚑统管理员【guǎn lǐ yuán】应该🤽能够对所希望【suǒ xī wàng】🎿管理的资源进行有效🌚的管理。
(2)客户端【kè hù duān】不需要手工配【shǒu gōng pèi】🚷置【zhì】🛀,而应该在不参与的情况下发现合适于本地【yú běn dì】👧机的配置【pèi zhì】参数⛽,并利用这些参数加以👲配置【pèi zhì】🛀。
(3)不需要为单个客户端🚋配置网【pèi zhì wǎng】络【luò】,在通常【zài tōng cháng】情况下【qíng kuàng xià】💾,网络【luò】管理员没🧚有必要输入任🤺何预先设计好⬛的用户配置参数【shù】。
(4)DHCP不需要【bú xū yào】在每个子网上【zǐ wǎng shàng】🐇配置一🎨台服务🦈器【qì】💠,出于经济原因,DHCP服务器【fú wù qì】💠必须可以和路由器【qì】或🤾BOOTP转发代理一起工作【gōng zuò】。
(5)DHCP客户端【kè hù duān】必须能【bì xū néng】对多个DHCP服务器提供的【tí gòng de】服务做🏺出响应🧘,出于网🥟络稳定与安全【yǔ ān quán】的考虑,有时需【yǒu shí xū】🍰要在网络中添📼加多台DHCP服务器。
(6)DHCP必须静态配置,而且必【ér qiě bì】🎋须用现【xū yòng xiàn】存的网🚬络协议实现【shí xiàn】👜。
(7)DHCP必须能💚够和【gòu hé】BOOTP转发代💒理互操【lǐ hù cāo】作。
(8)DHCP必须能🗼够为现🔅有的【yǒu de】BOOTP客户端提供服【tí gòng fú】务。
(9)不允许【bú yǔn xǔ】有多个客户端同时使【tóng shí shǐ】🦒用一个【yòng yī gè】🎰网络地🦋址。
(10)在【zài】DHCP客户端【kè hù duān】重新启【chóng xīn qǐ】动后仍【dòng hòu réng】然能够【rán néng gòu】🍪保留其【bǎo liú qí】原先的配置参📦数,如果可🥜能,客户端【kè hù duān】应该被✊指定为🔶相同的🍩配置参📦数。
(11)在DHCP服务器【fú wù qì】🐠重新启动后仍🤛然能够【rán néng gòu】保留客户端【kè hù duān】😺的配置参数【zhì cān shù】🎎,如果可【rú guǒ kě】🌉能,即使⤴DHCP机制重新启动,也应该能够为【néng gòu wéi】客户端【kè hù duān】😺分配原有的配置参数【zhì cān shù】🎎。
(12)能够为【néng gòu wéi】💕新加入的客户🖖端自动提供配置参数【zhì cān shù】。
(13)支持对特定客【tè dìng kè】户端永久固定🈁分配网【fèn pèi wǎng】络地址⚾。
上面【shàng miàn】(9)~(13)的设计🌲目标是🤡对于网【duì yú wǎng】络层参【luò céng cān】数🔇的设计🌲而言的,在网络🤣层参数🔇上【shàng】,DHCP必须做到这几【dào zhè jǐ】点。
安装DHCP服务器
DHCP配置文件
可以使【kě yǐ shǐ】用RHEL 5.0自身携🐟带的RPM包安装,安装结🙂束后【shù hòu】DHCP端口监督程序【dū chéng xù】🐴dhcpd配置文【pèi zhì wén】件是/etc目录中【mù lù zhōng】🤾的名为🐬dhcpd.conf的文件。下面手【xià miàn shǒu】工建立/etc/dhcpd.conf文件,该文件🥓通常包🐇括3个部分【gè bù fèn】,即【jí】parameters参数、declarations声明和option选项🚝。
1.DHCP配置文【pèi zhì wén】件中的🐻parameters
parameters表明如✔何执行任务🦀,以及是【yǐ jí shì】否要执【fǒu yào zhí】行任务🦀或将哪【huò jiāng nǎ】些网络配置选项发送【xiàng fā sòng】给客户👋端【duān】,主要参🤣数如表8-1所示🏯。
DHCP配置文件中的主要参数
参【cān】 数🎀 |
解 释 |
ddns-update-style |
配置DHCP-DNS互动更新模式 |
default-lease-time |
指定默认租赁时间的长度,单位是秒 |
max-lease-time |
指定最大租赁时间长度,单位是秒 |
hardware |
指定网卡接口类型和MAC地址 |
server-name |
通知DHCP客户端服务器名称 |
get-lease-hostnames flag |
检查客户端使用的IP地址 |
fixed-address ip |
分配给客户端一个固定的地址 |
authritative |
关键词【guān jiàn cí】:Linux,DHCP服务器,故障排🈚除【chú】😷 阅读本文后您有什么感想? 已有 人给出评价!
|