inux系统下DHCP服务器配置.docx
《inux系统下DHCP服务器配置.docx》由会员分享,可在线阅读,更多相关《inux系统下DHCP服务器配置.docx(16页珍藏版)》请在冰豆网上搜索。
inux系统下DHCP服务器配置
Linux系统下DHCP服务器配置图文详解
Lnux系统在服务器的上应用现在很流行。
而作为服务器,Web,DHCP,和dns又是互联网上最主要的服务,现在,我就与朋友们讨论DHCP的应用。
(注意:
配置网络服务器,如果你在现有的网络环境中选择安装或者使用VM的桥接网络的时候,有可能会对你当前的网络环境造成影响,请在配置之前咨询你的网络管理人员。
)
首先介绍下什么是DHCP协议
DHCP(dynamichostconfigurationprotocol)就是动态主机分配协议,它用于给某个网络段上的主机进行动态分配IP地址和相关网络环境的配置工作,比如我们使用adsl拨号就是用的DHCP协议。
一、DHCP的常用的概念。
1、作用域:
作用域是一个网络中可分配IP地址的连续。
2、超级作用域
超级作用域是一组作用域的集合。
是由一个物理子网中包含的多个IP子网组成的。
我们可以理解为作用域是一个用户,而超级作用域就是这个用户的组。
3、排除范围
排除范围是用来定义某IP或者某一组的IP不用于分配给DHCP客户机
4、地址池
定义了DHCP作用域和排除范围后,剩下的可用地址构成了一个地址池。
池中的地址可以分配给用户使用
5、租约
就是DHCP服务器指定的时间长度,在此长度内客户机可以使用分配给它的地址,如果租约到期,客户机必须更新ip租约。
6、保留地址
用户可以使用保留地址,保留地址提供了一个将动态地址和其MAC地址相关联的手段。
用于保证此网卡长期使用某个IP地址。
7.选项类型。
这是DCHP为工作站提供的其它参数,比如网关的IP地址,dns服务器等。
这里仅仅介绍了DHCP最基础的一些概念,因为在此主要介绍Lnux下是如何配置这些服务的。
所以如果朋友们想了解更多有关DHCP或者后面介绍的几个服务的知识(Lnux下和win下的DHCP的概念是一样的)可以参阅网络或者书籍。
二、DHCP的配置
首先安装DHCP服务。
如果你在首次安装时没有选择DHCP组件,你可以在你发行版的安装光盘和rpm的添加删除包中找到相关软件,进行安装,或者可以在第二张光盘的/RedHat/RPMS/下找到DHCP-3.0p11-23.i386.rpm的二进制rpm发行包进行安装,安装后效果相同。
然后更新的时候按提示插入安装盘
再给提示朋友们一次,在Lnux中,所有的程序配置都由文本文件进行控制。
所以我们要设置DHCP服务器,就可以通过修改配置文件来达到目的。
Linux系统下DHCP服务器配置图文详解
[日期:
2008-04-19]来源:
Linux公社作者:
Linux整理
所以我们先看下它的典型的配置文件
DHCP的配置文件是/etc/DHCPd.conf,不过默认的情况下这个文件不存在,你需要使用它的模板建一个配置文件。
模板的位置在/usr/share/doc/DHCP-3.0p11/DHCPd.conf.sample
如果你找不到你的配置文件可以使用我们学过的查找命令,locatefilename进行寻找,如图:
查找到此文件后,我们先来看下模板的配置情况。
为了方便,我把这个配置文件用cat命令给导入到了一个文本文件中,然后弄到win下来了。
模板配置文件内容如下:
和所有的配置文件类似的,它用#代表注释。
现在看看每行都说了什么
ddns-update-styleinterim;
#配置使用过渡性DHCP-DNS互动更新模式。
ignoreclient-updates;
#忽略客户端更新
subnet192.168.0.0netmask255.255.255.0{
#设置子网声明
#---defaultgateway
optionrouters192.168.0.1;
#设置缺省网关为192.168.0.1
optionsubnet-mask255.255.255.0;
#设置客户端的子网掩码
optionnis-domain"domain.org";
#为客户设置NIS域
optiondomain-name"domain.org";
#为客户设置域名
optiondomain-name-servers192.168.1.1;
#为客户设置域名服务器
optiontime-offset-18000;#EasternStandardTime
#设置偏移时间。
#optionntp-servers192.168.1.1;
设置NTP服务器。
#optionnetbios-name-servers192.168.1.1;
设置wins服务器
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless
#--youunderstandNetbiosverywell
#optionnetbios-node-type2;
#设置netbios节点类型我不清楚这个netbios节点是什么东西。
*_*!
不懂最好不设。
嘿嘿。
rangedynamic-bootp192.168.0.128192.168.0.255;
#设置动态的地址池。
default-lease-time21600;
#设置缺省的地址租期。
max-lease-time43200;
#设置客户端最长的地址租期
#wewantthenameservertoappearatafixedaddress
//设置主机声明
hostns{
next-servermarvin.RedH;
//设置由于定义服务器从引导文件中装入的主机名,用于无盘站。
hardwareethernet12:
34:
56:
78:
AB:
CD;
指定DHCP客户的mac地址
fixed-address207.175.42.254;
给指定的mac地址分配ip
}
}
看完了这个配置文件,朋友们如果有一定的英文基础。
是不是觉得其实很好懂,其实不要被Lnux的配置文件吓倒,配置Lnux远比windows简单和容易理解,这些配置文件给了你一个模板,你照模板进行填写就可以,类似于给了你一张计划书,上面有你要做的事情,你可以选择做或者不做,具体情况根据你的环境填填空就可以了。
不象windows会给你一个向导,至于向导干了什么你根本不知道。
出了问题,你也不知道改找谁。
但是Lnux则不同,出了问题,你把你的配置单cat出来,然后贴到网上,讲出你的要求,别人很容易知道你到底干了些什么。
后面我们举个例子来做这个配置。
先看下一个图,非常常见的网络环境。
我们有一个10.0.0.0的网络,叫做
有一个DHCP,有一套企业应用系统,
dns的服务器地址10.0.0.12
系统的数据库服务器地址为10.0.0.10
应用服务器地址为10.0.0.11
有一个网管监控区,放的网管工作站,其IP分别是,10.0.0.30,机器名字叫webmaster
然后有个防火墙做NAT,内部IP是10.0.0.1,外部IP是202.117.0.43(随便编个.HOHO)
你是这个企业的网管,由于你的机器比较多了,工作人员经常找你配IP地址。
所以你让老总给你了台淘汰的机器,上面装上Lnux,配成DHCP服务器,来给他们分配IP地址。
那么,现在我们要怎么做呢。
首先,我们先要考虑一下这个环境。
10.0.0.10
10.0.0.11,
10.0.0.1
为避免网络问题,以上地址应该是保留的静态地址,也就是说你应该有一个排除范围。
这个范围可大可小,在现在的情况下,为了避免以后的问题,可以把排除范围设置大点。
比如我们设置为从10.0.0.1~10.0.0.20,为系统使用的。
10.0.0.30是你自己用的,不过你不想让别人用这个ip,也不想每次重新装了系统后重新修改,因此,你决定把你的IP给绑定到MAC上。
其他的人可以随意使用10.0.0.21~10.0.0.254之间的一个地址。
Linux系统下DHCP服务器配置图文详解
[日期:
2008-04-19]来源:
Linux公社作者:
Linux整理
好了,现在调出我们的DHCP配置单模板,看如何配置。
ddns-update-styleinterim;
ignoreclient-updates;
#subnet192.168.1.0netmask255.255.255.0{
#声明变了,我们的总的网络是10.0.0.0/24
subnet10.0.0.0netmask255.255.255.0{
#朋友在修改配置的时候,原有配置我们可以使用#注释掉。
#---defaultgateway
#optionrouters192.168.0.1;
#路由变了,是10.0.0.1
optionrouters10.0.0.1;
optionsubnet-mask255.255.255.0;
optionbroadcast-address10.0.0.255;
#添加一个广播地址
#这句不用改,因为我们的子网还是个三类地址的子网
#optionnis-domain"domain.org";
#nis不用
#optionnis-domain"";
#optiondomain-name"domain.org";
optiondomain-name"";
#optiondomain-name-servers192.168.1.1;
optiondomain-name-server10.0.0.12
optiontime-offset-18000;#EasternStandardTime
#这个时间偏移,根据本地情况来设置。
#optionntp-servers192.168.1.1;
#optionnetbios-name-servers192.168.1.1;
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless
#--youunderstandNetbiosverywell
#optionnetbios-node-type2;
#上面的可以不修改,因为我这里没有ntp和wins服务器
#rangedynamic-bootp192.168.0.128192.168.0.255;
#这里开始设置你的动态ip地址池了
#rangedynamic-bootp10.0.0.2110.0.0.254
default-lease-time21600;
max-lease-time43200;
#缺省的更新ip时间和最大更新时间不修改默认的就可以。
#wewantthenameservertoappearatafixedaddress
#――――――――――――――――――――――
#以上为模板中有的配置,现在加一些模板没有的配置
#――――――――――――――――――――――
subnet10.0.0.0.0netmask255.255.255.0{
range10.0.0.2110.0.0.254;
}
#这里要注意了,在这里我们配置了我们的地址池!
!
从10.0.0.21到10.0.0.254
#hostns{
#next-servermarvin.RedH;
#hardwareethernet12:
34:
56:
78:
AB:
CD;
#fixed-address207.175.42.254;
#}
#上面的是为特定用户来设置地址的。
咱们来看看网管的机器该怎么配置,为了你以后
#配置的方便,这里加个group声明一下,以便如果哪个人看上了某个地址,你把他固、
#定上就可以。
group{
hostwebmaster{
optionhost-name“”;
#你的主机名。
可以就设置为webmaster
hardwareethernet00:
cd:
a9:
70:
e3:
f3;
#你的MAC地址,在Lnux下直接用ifconfig就可以看到。
如果你要看win
#的mac地址可以用ipconfig当然这个MAC地址是我编的,呵呵。
fixed-address10.0.0.30
}
}
}
朋友们可以看到,在这里我们改的配置文件的地方并不是很多:
)总共加了也没有10条语句,但是DHCP的配置文件已经做好了。
然后我们把这个文件复制回etc目录下存储为DHCPd.conf,然后你可以用vi看一下
不过别高兴的太早,Lnux怎么知道这是你要启动DHCP服务,并且使用这个配置文件呢?
现在就看我们后面要完成哪些工作了。
首先,要运行DHCP,我们需要一个客户租约数据库文件这个文件在/var/lib/DHCPd.leases,默认的这个库是空的,不需要配置,不过管理员可以通过这个来察看DHCP的运行情况。
‘
一般来说,这个文件的格式是
leaseaddress{statement}
根据以上要求创建/var/lib/DHCP/DHCPd.lease文件。
完成了以上的配置,后面就是要启动DHCP了,和以前说的smb服务一样,也是通过service命令来执行
serviceDHCPdstart
启动服务失败,系统提示第10和第27行出错。
原来一个是把domain-name-servers输错成了domain-name-server
另一个则是添加了两个range
费了半天力,到底把DHCP启动起来了。
郁闷,又改了好几遍。
然后可以用pstree来察看此服务是否启动
pstree|grepDHCPd
如图所示,服务有了
如果希望以后每次服务器启动都把DHCP启动的话可以用ntsysV来选择你的DHCP服务器。
如图:
还剩下一点小问题,就是客户机的配置。
客户机win下的不多说了如图:
默认就是这样的。
在Lnux下面,你可以手动配置你的DHCP。
察看你的网络配置文件,如果你没有设置为自动启动联网,则要修改你的网络配置文件。
vi/etc/sysconfig/network
添加
NETWORKING=yes
(让引导的时候启动联网)
或者使用
@echo“NETWORKING=yes”>/etc/sysconfig/network
然后再修改你的网卡配置文件
/etc/sysconfig/network-scriptes/ifcfg-eth0文件
应该包含这几行
DEVICE=eth0
BOOTPROTO=DHCP
ONBOOT=yes