LINUX下DHCP服务的配置与应用

简介:
     在现实生活中,我们如果想要局域网中的每台计算机都能连接到internet上去,那么我们必须为每台机器都配置IP地址等参数,接触过电脑的人都知道,计算机有两种方法来配置这些地址参数:静态手工指定与DHCP实现自动分配。那么今天我要为大家演示一下怎样在LINUX下配置DHCP服务器来使DHCP客户机自动获得这些地址参数。这里说一下DHCP分配的重要性:相对于手工配置来说,DHCP更具灵活性,省掉了重复性的工作,减少了人工配置中产生的一些不必要的错误,而且由于机器经常的变动我们不得不烦琐地修改地址参数,现在我们有了DHCP就好办了,它会让烦琐地址分配变得更加easy!
             
 
                还是一样,我们配置的首要步骤就是我们的linux系统里面是否安装好这些软件,用rpm -pa | grep dhcp。。一般的我们默认是没有安装好的,需要我们从CD或都其它地方下载下来安装。因为我物理机上面有一些dhcp的rpm包,那么现在我想把我物理机上面的rpm包复制(更精确点说是“下载”)到我的linux机器里来怎么办?
呵呵,挺简单的,大家看我如何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

相关文章
|
16天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
28天前
|
Linux
linux查看应用对应的端口
linux查看应用对应的端口
16 0
|
28天前
|
网络协议 安全 Linux
linux系统安全及应用——端口扫描
linux系统安全及应用——端口扫描
36 0
|
16天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
1天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
19 1
|
1天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
12 1
|
2天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
23 0
|
2天前
|
Linux
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
15 0
|
5天前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
6天前
|
缓存 安全 Ubuntu
Linux配置代理上网
如何配置Linux代理
14 1