在现实生活中,我们如果想要局域网中的每台计算机都能连接到internet上去,那么我们必须为每台机器都配置IP地址等参数,接触过电脑的人都知道,计算机有两种方法来配置这些地址参数:静态手工指定与DHCP实现自动分配。那么今天我要为大家演示一下怎样在LINUX下配置DHCP服务器来使DHCP客户机自动获得这些地址参数。这里说一下DHCP分配的重要性:相对于手工配置来说,DHCP更具灵活性,省掉了重复性的工作,减少了人工配置中产生的一些不必要的错误,而且由于机器经常的变动我们不得不烦琐地修改地址参数,现在我们有了DHCP就好办了,它会让烦琐地址分配变得更加easy!
呵呵,挺简单的,大家看我如何solve this problem吧。 ------------
问题1-------方法:
利用linux机器上的samba服务器有文件共享的功能,,那么我先把物理机上面的dhcp rpm包放入windows共享目录里面。再登录linux, 用:smbclient //172.16.29.51(物理机ip)/share(物理机共享目录) -U xxx(windows的登录用户名) xxx(password) 回车即可,,出现smb:>/就是了,那么你成功进入了windows的share目录了,用ls看一下,,是不是dhcp的rpm包都在上面,是的话,我们马上把它下载下来,用ftp里的上传下载命令即可:get xxx(文件名)。好,quit退出smb。用ls再查看一下linux当前目录里是不是包含了刚下载的两个文件啊。。呵呵。那么成功完成从samba里复制文件到linux机器里了,进行到这,你是否感觉自己小有成就感了,嘻嘻。。。有了dhcp rpm软件包,我们接下来就把他安装好吧。
根据各版本不同,需要安装不同dhcp rpm包,我这以RHEL 5为例,,那么必须要安装这两个rpm包:dhcp-3.0.1-58.EL4.i386.rpm(最重要的哦),dhcp-devel-3.0.1-58.EL4.i386.rpm.一般客户端的软件包默认安装好了的。 我们安装下面的命令安装即可
-----
问题2----- 看到了问题了吗,有两次安装,可以对照看出来,第一次包安装并没有成功,是什么原因呢,
-------------------------------------------------解决方法---------------------------------------------------------
这也正是昨天我苦恼的原因,在实验机房没碰到,但在我机器上面却出这问题了,导致没有顺利完成的原因就是rpm包的依赖错误,这也是一个系统环境的问题,那么此时我们要在命令后面加上--force 来强制安装,当然这样做并没好处(因为这样安装会使程序服务出现一些问题,但没办法我们暂时先这样做。)。
安装好了rpm包之后,接下来我们需要用vi来编辑我们的dhcp主配置文件了,但你会发现/etc/dhcpd.conf里面没什么东西,只写了一行代码 :see /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample,意思是让你去看/usr/share/doc/dhcp-3.0.1/下面的dhcpd.conf主配置文件的模板,那么我进入到/dhcp/-3.0.1目录下面,看到模板文件后cp dhcpd.conf.sample /etc/dhcpd.conf 或是cat /dhcpd.conf.sample >/dhcpd.conf重定向输出到/etc/dhcpd.conf里。这样我们就可以按着模板来配置我们的dhcp.conf了。下面是dhcp.conf的一些参数解释:
我们把主配置文件修改成:subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;//为客户机设置默认网关
o ption net-mask 255.255.255.0;//子网掩码为24位
option nis-domain "domian.org";
option domain-name-server 192.168.1.1;//域名
range dynamic-bootp 192.168.0.128 192.168.0.254//地址分配范围
default-lease-time 21300;//默认租赁时间
max-lease-time 432000;//最大租赁时间(秒)
:wq保存即可。
下面我们开启我们的dhcpd进程,看是否成功。
事与愿违,没能成功,仔细想一下,到底是什么让我们的dhcp服务启动失败------------------
问题3-------------------
-----------------------------------------解决-----------------------------------------------------------
查看一下服务器的ip地址就晓得了啦,嘻嘻,
因为网卡地址也服务器要分配的地址不再同一网段,而且也没启用DHCP中继代理,所以DHCP启用才会失败哦,现在我们只要把服务器的网卡的地址改为与要分配的IP同一网段就OK啦。
现在剩下来的任务就是测试啦,我们用xp系统的windows客房机来测试一下dhcp 分配哦。呵呵。具体设置大家应该都会吧,,按wins+R,进入运行里面 输入"cmd“,进入command的界面,再输入“ipconfig/release“,释放之前手工设置的IP,然后再输入“ipconfig/renew“向dhcp服务器发送一个源地址为:0.0.0.0(代表本地),目的地址为:255.255.255.255的全网广播dhcpdiscover,,那么dhcp服务器在收到这个dhcpdiscover后,会在本机dhcp地址池当中选出一个还未分配的IP,向客户机发出一个dhcpoffer单播数据包,这时客户机收到后发出一个dhcprequest请求包,当然在客户机接收dhcpoffer过程中,可能会多个dhcpoffer包,他们来自不同的dhcp服务器,那么客户机会选择最先到达的服务器作为自己的dhcp server。确认后,dhcp server也会发出一个dhcpack包,其中包括ip的地址信息,租赁信息等。此时dhcp分配过程就完成了。下面我们来看一下客户机获取是否成功。
windows 客户端IP地址已经获取成功,下面我们来看看分配的其他信息,在cmd里面输入“ipconfig/all就可显示出来。
呵呵,挺容易的吧。。“事有难易乎,不做则难,做则易”。
好了,大家也看得累了吧,今天天气变好了,出去透透气吧。。多运动哦,,不要像我,都感冒了。咳。。。。。
本文转自 Bruce_F5 51CTO博客,原文链接:http://blog.51cto.com/zenfei/323347