分类: LINUX
2009-05-24 17:33:05
LINUX网络服务 DHCP服务
1.DHCP的概述
欲设置好一个网络环境并使计算机可以顺利地连上Internet,则计算机里一定要有IP、netmask、network、broadcast、gateway、DNS IP等网络参数才可以。其中IP、netmask、broadcast与gateway都可以在/etc/sysconfig/network-scripts/ifcfg-eth[0-n]文件里设置,DNS IP则是在/etc/resolv.conf里设置。只要这几个网络参数设置正确,计算机就应该可以上网了。
LINUX系统中(网络接口)的网络属性,可以使用手动和自动两种方式进行配置。
手动设置网络属性是在主机的网络配置文件中进行网络属性的设置,系统每次启动后都根据配置文件的设置内容进行网络属性的配置。
自动设置网络属性的主机只需要在网络接口配置文件中声明使用DHCP进行网络配置,主机每次启动时都会向网络中的DHCP服务器发送请求,并根据DHCP服务器返回的配置信息进行网络属性的设置。
2.DHCP的运作方式
DHCP主要通过客户端传送广播数据包给整个物理网段内的主机,若局域网内有DHCP主机,则会响应客户端的IP参数要求。所以DHCP服务器与客户端应该在同一个物理段内。
(1)客户端取得IP参数的程序
客户端利用广播数据包发送DHCP需求
DHCP主机响应信息
客户端接收DHCP服务器提供的参数并设置本身的网络环境
DHCP服务器记录该次租约行为
(2)DHCP服务器给予客户端的IP类型
设置DHCP服务器给予客户端的IP类型主要有以下两种:
固定IP
在linux上如何知道你的MAC呢,最简单的方式就是使用IFCONFIG以及ARP来进行:
动态IP
CLIENT端每次连上DHCP所取得的IP都不是固定的,是由DHCP从尚未使用的IP中随机选取的。除非局域网内的计算机有可能作为主机,必须设置为固定IP,否则使用动态IP比较简单,而且使用时具有较好的弹性。
(3)多台DHCP主机在同一物理网段的情况
当网段里有两台以上的DHCP主机时,到底哪一台主机会设置我的这台计算机所发出的DHCP要求呢?在网络上,很多时候都是先抢先得的,DHCP响应也是如此。当server 1先响应时,你使用的就是server 1所提供的网络参数内容;如果是server 2先响应,则你使用的就是server 2 所提供的网络参数内容。
3.DHCP服务器端的设置
3.1所需软件
(1)DHCP:提供整个DHCP服务器的主要配置文件、启动的脚本及执行文件等重要数据。
(2)/etc/dhcpd.conf:这是DHCP服务器的主要配置文件,在一些版本中这个文件可能不存在,所以如果确定要安装dhcp软件却找不到此文件时,需要我们手动建立它。设置文件的实际位置可参考/etc/init.d/dhcpd的规范。在dhcp软件在发布的时候都会附上范例文件dhcpd.conf.sample,可以使用rpm -ql dhcp来查询该范例文件,然后将该文件复制成为/etc/dhcpd.conf,再手动修改/etc/dhcpd.conf即可。
(3)/usr/sbin/dhcpd:这是启动整个dhcp daemon 的执行文件。
(4)/var/lib/dhcp/dhcpd.leases:DHCP服务器端与客户端租约建立的启始与到期时间就记录在这个文件中。
3.2配置文件/etc/dhcpd.conf的语法
DHCP的设置很简单,只要将dhcpd.conf设置好即可。不过编辑此文件需要注意以下几点:
#为批注符号
除了括号那一行外,其他的每一行后面都要以“;”结束。这是最容易出错的地方。
(1)整体设置(GLOBAL)
整体设置包括设置租约期限、DNS的IP地址、路由器的IP地址、动态DNS更新的类型等,当静态IP及动态IP内没有规范到某些设置时,则以整体设置为准。常使用的参数有以下几项:
Default-lease-time时间:默认的租约时间,默认单位为秒。
Max-lease-time时间:最大租约时间,当客户端超过租约时间但尚未更新IP时,最长可以使用该IP的时间。
Option routers路由器的地址:设置路由器的IP所在,记得routers要加s才对。
Option broadcast-address广播地址:设置广播地址。
(2)动态IP分配设置
用来设置随机分配IP的方式,只要给予网段并配合range参数就可给予限制的IP范围
(3)静态IP的设置方式
通过硬件地址(MAC)来处理IP的获取,利用host这个设置参数并配合以下两个常见的参数值来处理。
Hardware ethernet硬件地址:利用网卡上面的固定硬件地址来设置,即该设置仅对这个硬件地址有效。
Fixed-address IP地址:给予一个固定的IP地址。
4.DHCP服务器配置
准备三台VM,其中一台为linux环境下的DHCP服务器,一台为linux环境下的客户机,一台为windows环境下的客户机。DHCP服务器的IP地址为192.168.100.1/24,每个用户默认租约为3天,最长为6天,要分配的IP的范围是192.168.100.100~192.168.100.200。
首先在服务器端设置服务器的IP地址,进入配置文件,设置静态IP,IP地址为192.168.100.1,子网掩码为255.255.255.0,默认网关为192.168.100.1
配置完成后,保存退出,并且重启网络服务
将redhat5的光盘放入光驱
进入TMP目录,新建一个空目录cdrom,建立完成后,查看/tmp目录下的内容
将/dev/cdrom中的光盘挂载到/tmp/cdrom目录下
挂载成功后,我们会发现,mount只有读的权限,进入/tmp/cdrom/目录中,找到Server目录,查看Server目录下有关dhcp的文件,找到dhcp的安装包
使用rpm命令安装dhcp服务
安装完成后,查看dhcp中的文件列表,找到dhcp.conf的样例文件,如下图红色标识部分
查看完成后,将上面的样例文件复制到/etc/dhcp.conf文件中,由于前面已经有了这个文件,所有我们选择将其覆盖
然后进入/etc/dhcpd.conf的编辑模式
进入后,出现下面的内容:
#:注释
第一行:动态DNS的更新类型,interim表示需要更新DNS的设置,如果不需要,将其改为none;
第四行:关于动态分配的IP,网络为192.168.100.0,子网掩码为255.255.255.0
第七行:默认路由
第八行:子网掩码
第十行:额外给的NIS相关参数
第十一行:在/etc/resolv.conf给一个搜索领域
第十二行:DNS的IP设置,这个设置值会修改客户端的/etc/resolv.conf文件内容
第二十一行:分配的IP地址范围
第二十二行:默认租约为3天
第二十三行:最大租约为6天
第二十五行到第二十九行:关于静态的IP
配置完成后,保存退出,然后启动dhcp服务,并且查看dhcp的状态
查看端口的启动情况
配置完成后,我们切换到windows 系统中,进入网络属性中,设置TCP/IP属性为自动获得IP地址
使用下面命令先释放IP地址
释放完成后,再使用命令重新获得IP地址,查看完成后,已经学到IP地址,LINUX中dhcp服务器分配的IP地址是从后向前的
Windows中设置完成后,我们再进入另一台linux客户端,并且配置客户端的网络属性
配置IP地址的获得方式为dhcp
配置完成后,保存退出,并且重启网络服务
查看客户端的IP地址,发现已经获得了服务器分配的IP地址192.168.100.198
查看客户端/etc/resolv.conf文件中DNS的IP地址
切换到dhcp服务器中,查看服务器端租约的信息记录,服务器端的信息记录在下面的文件中