DHCP服務器架設總結第一部份:DHCP概念介紹第二部份:DHCP工作原理第三部份:DHCP安裝第四部份:DHCP參數設定第五部份:DHCP啟動第六部份:DHCP安全相關第七部份:DHCP應用第八部份:DHCP客戶端命令詳解第九部份:範例第十部份:常見問題解答1.DHCP概念介紹1.1DHCP(Dynamic[daɪ'næmɪk]HostConfigurationProtocol,动态主机配置协议),是从BOOTP(BootstrapProtocol自举协议)协议发展而来的,是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数。RFC2131中进行定義。DHCP协议是基于UDP层之上的应用。(DHCP和BOOTP相同點與區別相同點:2者服務端的端口號都為67,客戶端端口號都為68區別:應用區別;BOOTP该协议主要用于有无盘工作站的局域网,DHCP除了具有他的應用,也應用到windows服務器和路由器中原理區別:BOOTP须事先获得客户端的硬件地址,而且,与IP的对应是静态的,而DHCP是可以動態更新的)1.2DHCPSERVER是在一個特定的網路中管理DHCP標準的一台電腦。DHCP伺服器的職責是當工作站登錄進來時分配IP位址,並且確保分配給每個工作站的IP位址不同,DHCP伺服器極大地簡化了以前需要用手工來完成的一些網路管理任務。2.DHCP工作原理2.1單個網段DHCP客戶端獲取IP地址的工作原理DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。如下圖:2.1.1DHCP客户端发送IP租用请求(DHCPDISCOVER租用請求報文)。当客户端首次接入网络、初始化TCP/IP连接。比如:主机系统启动、新安装了网卡以及启用禁用的网络连接时都会初始化TCP/IP连接。由于客户端此时没有IP地址。同时也不知道DHCP服务器的IP地址,因此会通过广播发送一个DHCPDISCOVER消息,请求租用IP地址等参数。DHCPDISCOVER消息中包含源IP地址(0.0.0.0)、目的IP地址(255.255.255.255,广播地址)、源端口号(UDP68客戶端用的)、目的端口号(UDP67服務端用的)以及DHCP客户端的硬件地址和主机名(DHCP客户端的标识)等信息。2.1.2DHCP服务器提供IP地址(DHCPOFFER租用選擇報文)。网络中所有收到客户端发出的DHCPDISCOVER消息的合法DHCP服务器都会通过广播发送一个DHCPOFFER,为客户端提供IP地址等相关参数。DHCPOFFER消息中包含源IP地址(DHCP服务器IP地址)、目的IP地址(255.255.255.255,客户端此时没有IP地址)、源端口号(UDP67)、目的端口号(UDP68)、提供的IP地址和子网掩码、IP地址的租用时间、服务器标识(通常为服务器的IP地址)、以及DHCP客户端的硬件地址和主机名等信息。在DHCP客户端发出DHCPDISCOVER消息后,如果等待1S未收到任何DHCP服务器发出的DHCPOFFER,客户机会分别以2S、4S、8S、16S的时间间隔重新广播发送4次相同的DHCPDISCOVER消息。如果此时仍然没有收到DHCPOFFER,则基于客户端的操作系统不同,有以下3种情况:基于WINDOWS2000的客户端将会采用自动专用IP地址暂时作为自己的IP地址,仍可以与其它采用自动专用IP地址的主机进行临时的通信。基于WINDOWSXP/WINDOWSSERVER2003/windows7等的客户端它从微软保留的B类网段169.254.0.0中挑选一个IP地址作为自己的IP地址,子网掩码为255.255.0.0,所挑选的地址由DHCP客户机利用ARP广播来确定自己所挑选的IP地址是否已被网络上的其它设备使用,如果该IP地址已被使用,那么客户机会再挑选另一个IP地址重新进行测试,而且最多可以重试十个IP地址,直到成功获取配置。在此之后,客户机会在后台继续每隔5分钟尝试与DHCP服务器进行通信,一旦与服务器取得联络,则客户机放弃自动设置的IP地址,而使用服务器分配的IP地址和其它配制信息。)基于其它操作系统的客户端将无法TCP/IP网络连接,无法进行正常网络通信。但无论出现上述哪种情况,DHCP客户端都会每隔五分钟再次广播发送DHCPDISCOVER消息,同样,无论出现上述哪种情况,都说明DHCP末正常工作。2.1.3DHCP客户端进行IP租用选择(DHCPREQUEST租用選擇報文),。由于DHCP客户端用于IP租用请求的DHCPDISCOVER消息是通过广播发出的。而网络中可能存在不止一台的DHCP服务器,因此所有合法的DHCP服务器在收到请求后都会广播发出自己的DHCPOFFER消息,为客户端提供IP地址。客户端收到后会选择第一个收到的DHCPOFFER中提供的IP地址,然后广播发送一个DHCPREQUEST消息,告知自己所选择的IP地址,并等待被选择服务器发来的用于确认的DHCPACK消息。DHCPREQUEST消息中包含源IP地址(0.0.0.0,客户端此时没有IP地址)、目的IP地址(255.255.255.255,广播地址)、源端口号(UDP68)、目的端口号(UDP67)、选择的IP地址和提供该地址的服务器标识符以及DHCP客户端的硬件地址和主机名等信息。2.1.4DHCP服务器进行IP租用确认(DHCPACK確認報文)。所有曾经发出的DHCPOFFER消息的DHCP服务器都将收到由DHCP客户端发出的DHCPREQUEST消息。那些未被选择的DHCP服务器将收回它们曾提供的IP地址;而被选择的DHCP服务器则会通过广播发送一个DHCPACK消息,确认接受客户端的选择,正式告知客户端可以使用其所提供的IP地址。DHCPACK包含源IP地址(被选择DHCP服务器本身的地址)、目的IP地址(255.255.255.255,广播地址)、源端口号(UDP67)、目的端口号(UDP68)、DHCP服务器提供的IP地址和其它相关TCP/IP参数、提供地址租用的服务器标识符,以及DHCP客户端的硬件地址和主机名等等。最後:DHCP客户端收到服务器发出的DHCPACK消息后,会将消息中提供的IP地址和其它相关TCP/IP参数与自己的网卡绑定。开始网络中通信。2.2DHCP跨網段分配IP地址原理DHCP服务器如何可以确定并准确地将作用域192.168.2.0网段的地址分给PC2而把作用域192.168.3.0网段的地址分给PC3呢?以子网2中的主机PC2为例,DHCP客户机PC2在子网2上广播DHCP/BOOTPdiscover消息(DHCPDISCOVER),广播是将消息以UDP(UserDatagramProtocol用户数据报协议)数据包的形式通过67端口发出,当中继代理(relayagent)主机A接收到这个消息后,它检查包含在这个消息报头中的网关IP地址,如果网关IP地址为0.0.0.0,则用relayagent主机A的接口二的IP地址192.168.2.1替换它,然后将其转发到DHCP服务器所在的子网1上(主机A还担任路由器功能)。当在子网1中的DHCP服务器收到这个消息后,它开始检查消息中的网关IP地址,然后判断该网关地址是否包含在DHCP的某一个作用域范围内,从而决定它是否可以使用相应的作用域的地址来提供IP地址租约,当然,本例中DHCP服务器将会从作用域192.168.2.10~192.168.2.254选取一个地址来配置PC2;也就是说DHCP客户机的请求地址消息中的网关IP地址(GIADDR)将是DHCP服务器用来确定从那个DHCP范围中挑选IP地址来配置客户机的依据2.3DHCP客户端持续在线时进行IP租约更新原理获得IP租约后,DHCP客户端必须定期更新租约,否则当租约到期时,将不能再使用此IP地址。每当租用时间到达租约的50%到87.5%时,客户端就必须发出DHCPREQUEST消息,向DHCP服务器请求更新租约。当租约使用50%时,DHCP客户端将以单播方式直接向为其提供IP地址的DHCP服务器发送DHCPREQUEST消息,如果客户端接收到该服务器回应的DHCPACK消息报,则客户端就根据DHCPACK消息中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成;如果没收到该服务器的回应,则DHCP客户端继续使用现有的IP地址,因为当前租约还有50%。如果在当前租约已使用50%时未能成功更新,则客户端将在当前租约已使用87.5%时以广播方式发送DHCPREQUEST消息,如果仍未收到服务器回应,则客户端他可以继续使用现有的IP地址。如果直到当前租约到期仍未能得到DHCP服务器回应而成功更新IP租约,则DHCP客户端将以广播方式发送DHCPDISCOVER消息,重新开始4个阶段的IP租用过程。DHCP客户端重新启动时进行IP租约更新注意:如果将DHCP客户端网卡禁用再重新启用,则将不会进行IP租约更新,而是直接广播发送DHCPDISCOVER消息,重新开始IP租用过程。3.DHCP安裝3.1首先查看linux下是否有安裝1.第一種方法:輸入命令:rpm–qldhcp則會有提示是否安裝dhcpserver服務2.第二章方法:rpm–qa|grepdhcp該命令意思就是將rpm–qa的輸出結果中截取dhcp這個關鍵字.-q:僅查詢,後面接的軟體名稱是否有安裝.rpm-qa意思(常用)列出所有的,已經安裝在本機Linux系統上面的所有軟體名稱RPM在查詢的時候,其實查詢的地方是在/var/lib/rpm/這個目錄下的資料庫檔案rpm–ql意思(常用)列出該軟體所有的檔案與目錄所在完整檔名(list)-qi:列出該軟體的詳細資訊(information),包含開發商、版本與說明等;-qc:列出該軟體的所有設定檔(找出在/etc/底下的檔名而已)(常用)-qd:列出該軟體的所有說明檔(找出與man有關的檔案而已)-qR:列出與該軟體有關的相依軟體所含的檔案(Required的意思)-qf:由後面接的檔案名稱,找出該檔案屬於哪一個已安裝的軟體;查詢某個RPM檔案內含有的資訊3.2找到安裝包安裝(共2種安裝方式)3.2.1第一種方式.從光盤安裝.3.2.1.1掛載光盤掛載光盤有以下2種方式:1.mount/dev/cdrom意思是掛載光盤內容.他默認的掛載點為/media/cdrom下面,然後直接到/media/cdrom下面可以查看光盤內容.取消掛載命令:umount/dev/cdrom2.mount/dev/cdrom/mnt/cdrom意思是掛載光盤內容,掛載點路徑在/mnt/cdrom下面.注意:要自行先在/mnt下面建立cdrom目錄否則無法掛載.取消掛載命令:umount/mnt/cdrom或彈出光盤cd;eject(備註:用完光盤,如果無法取消掛載,則可能是你在光盤的目錄下正使用,或者是你用ls–al查看光盤內容,沒完全查看完,就直接用ctrl+z停止.則是無法用umount取消掛載的.此事你應該用kill命令殺掉進程或者用fuser–ku/mnt/cdrom(這裡注意用fuser時,後面接的是你掛載的路徑)殺掉進程后,然後用umount/mnt/cdrom溫馨提示:如果此方法還不行,請用exit退出帳號在進去重複操作即可正常取消光盤掛載)(小提示:mount–tiso9660/dev/cdrom/mnt/cdrom是可以指定掛載光盤的文件系統.(如果是mount-tauto/dev/cdrom/mnt/cdrom则自动选择一个文件系统)这是光盘所使用的一种文件系统(为国际标准格式),与swap,vfat,NFS一样被linux支持。它可以提供对光盘的读写,也支持对