LINUX 环境下DHCP的如何安装?

LINUX 环境下DHCP的如何安装?,第1张

1 当你配置好DHCP服务器之后,客户端唯一要做的就是在配置IP地址时,选择自动获得IP就是了。WINDOWS是“自动获得IP地址”,LINUX的配置是“BOOTPROTO=dhcp”(其他物理连通性前提必须是好的)

2 主机通讯需要IP地址,当一个客户端的网卡处于激活状态,并且IP配置为自动获得时,那么客户端会自动向网络中的DHCP服务器发起请求,如果网络中有DHCP服务器存在并可用,那么服务器就会从它的IP地址池(地址范围中)选择空闲的IP地址和其他信息,比如租约时间等,一并发送给这个需要IP地址的客户单。这个过程就像我们租房子一样,房东是不会知道谁要租房子,但是你要生活,你就要去找,你找到房东,房东给你看房子,告诉你价格,时间,你们达成协议了,你就租到了,到期了,继续交钱,继续租用。你可以百度一下DHCP服务器的工作原理。

用示例文件修改一下就好了,修改完在启动服务之前先运行一下 service dhcpd configtest,看一下语法有没有问题

下面是我PXE SERVER的DHCP设定档:

dhcpdconf

#iddns-update-style interim;

ddns-update-style none;

ignore client-updates;

allow booting;

allow bootp;

class "pxeclients"{

match if substring(option vendor-class-identifier,0,9)="PXEClient";

filename "linux-install/pxelinux0";

#filename "linux-install/sles111-64/bootx64efi";

next-server 19216801;

}

subnet 19216800 netmask 2552552550{

range 19216802 1921680254;

option broadcast-address 1921680255;

option routers 19216801;

option subnet-mask 2552552550;

}

DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端供给自动分配IP地址的服务。

  当然高等的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息

  安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功效的客户机称为DHCP客户端,DHCP服务器是以地址租约的方法为DHCP客户端供给服务的,它有以下两种方法:

  限定租期 和 永久租用

  学DHCP服务器,就一定要知道DHCP服务器的工作原理:

  DHCPDISCOVER(DHCP发明)

  DHCPOFFER(DHCP供给)

  DHCPREQUEST(DHCP请求)

  DHCPACK(DHCP确认)

  这个4个步骤,是client获取IP地址必经的步骤

  DHCP供给的时候,服务器已经给client分配了IP地址,第二部分分给client的IP地址是临时的,client得到这个IP地址后,会发出DHCP请求,请求租用这个地址,服务器收到请求后,就会正式把这个地址分配给client,继而向client发送DHCP确认。

  这个四步主要是应对同一网络多个DHCP服务器

  后台过程:dhcpd

  脚本:/etc/rcd/initd/dhcpd

  使用端口:67

  所需RPM包:dhcp

  相关RPM包:

  dhcp-devel-305-7el5i386rpm

  dhcpv6-010-33el5i386rpm

  dhcpv6_client-010-33el5i386rpm

  配置文件:/etc/dhcpdconf

  日志:/var/log/xferlog

  再提示一点吧,网络启动方法也叫bootpc,这样获取的IP地址是不会受服务器的租期111tttcom的,它永远有效

  好了,我们先安装DHCP服务器

  一、下载或从光盘上找到DHCP服务安装包。

  二、安装(dhcp代表其安装包名称):

  # rpm -ivh dhcp

  三、配置DHCP文件:

  复制/usr/share/doc/dhcp/dhcpdconfsample 到/etc目录下,更名为:dhcpdconf

  # cp /usr/share/doc/dhcp/dhcpdconfsample /etc/dhcpdconf

  当然,也可以先vi /etc/dhcpdconf,然后在末行模式运行以下命令:

  r /usr/share/doc/dhcp/dhcpdconfsample

  这样这个dhcpdconfsample文件的内容就导进来了。

  打开dhcpdconf,要修改的几个地方:

  subnet 后面接的是你所定义的网段,要与本机的IP地址同网段,

  每一语句以分号“;”结尾,不要忘记。

  例如:我的IP是“192168211”,下面是我的配置文件:

  ddns-update-style interim;

  ignore client-updates;

  subnet 19216820 netmask 2552552550 {

  option routers 19216821;

  option subnet-mask 2552552550;

  option nis-domain "domainorg";

  option domain-name "domainorg";

  option domain-name-servers 19216821;

  option time-offset -18000;

  range dynamic-bootp 1921682100 1921682254

  default-lease-time 21600;

  max-lease-time 43200;

  filename "/pxelinux0";

  next-server 192168211;

  host ns {

  next-server marvinredhatcom;

  hardware ethernet 12:34:56:78:AB:CD;

  fixed-address 20717542254;

  }

  }

  四、详细注解:

  ddns-update-style interim; #定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,

  #interim和none都是关闭的意思

  allow/ignore client-updates; #允许/疏忽客户机更新DNS记载

  allow/deny unknown-clients; #是否动态分配IP给未知的使用者

  allow/deny bootp; #是否响应激活查询

  allow/deny booting; #是否响应使用者查询

  subnet 19216820 netmask 2552552550 { #设置子网声明

  # --- default gateway

  option routers 19216821; #设置缺省网关为19216821

  option subnet-mask 2552552550; #设置客户端的子网掩码

  option nis-domain "domainorg"; #为客户设置NIS域

  option domain-name "domainorg"; #为客户设置域名

  option domain-name-servers 19216821; #为客户设置域名服务器

  option time-offset -18000; # Eastern Standard Time #为客户端指定格林威治时间偏移时间,单位秒,

  # 该选项可以在全局配置、局部配置均可使用

  # option ntp-servers 19216821; #NTP是时间服务器

  # option netbios-name-servers 19216821; 设置wins服务器

  # --- Selects point-to-point node (default is hybrid) Don't change this unless

  # -- you understand Netbios very well

  # option netbios-node-type 2; #设置netbios节点类型 我不清楚这个netbios节点是什么东西

  range dynamic-bootp 192168228 1921682254; #设置动态的地址池

  default-lease-time 21600; #设置缺省的地址租期

  max-lease-time 43200; #设置客户端最长的地址租期

  # we want the nameserver to appear at a fixed address

  filename "/pxelinux0"; #开始启动文件的名称,应用于无盘安装,可以是tftp的相对或绝对路径

next-server 192168211; #This is the name of the server they should get it from

  #tftp服务器,可以和dhcp服务器不在同一机器上,一般是PXE网络使用此参数

  #设置主机声明

  host ns {

  next-server marvinredhatcom; #设置由于定义服务器从引导文件中装入的主机名,用于无盘站

  hardware ethernet 12:34:56:78:AB:CD; #指定dhcp客户的mac地址

  fixed-address 20717542254; #给指定的mac地址分配ip

  }

  }

  五、配置好dhcpdconf文件后就可以启动dhcp服务了:

  # service dhcpd restart

  这时可以用“netstat -nlutp”命令查看dhcp服务是否有启动。

  六、其它相关文件:

  1、这个文件/var/lib/dhcpd/dhcpdleases,可以看到被租出去的IP地址和相关信息。

  2、这个文件/etc/sysconfig/dhcpd是指定DHCP服务器111tttcom的网卡,如果只有一个网卡,一般不用设置

  DHCPDARGS=eth0 或者是eth1 ,如果全部111tttcom就不用管。

  3、这个文件/etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开瞧一下吧。

  interfaces 就是来自这个端口的dhcpdiscover(请求)都会转发到后面的DHCPSERVERS服务器。

  设置了DHCP中继,需要启动中继服务:service dhcrelay start

  七、在linux客户机下面,你可以手动配置你的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

  将DHCP移交给专用服务器的另一个好处就是可以建立动态域名服务(DDNS),那样当主机向服务器请求DHCP地址时,新主机的主机名称会被添加到DNS系统中。

  第一步:安装及配置ISC DHCP Server

  1 想开始搭建这台多宿主服务器这个过程,需要使用“apt”实用工具,通过Debian软件库来安装ISC软件。与所有教程一样,假设你拥有root或sudo访问权限。请对下列几个命令做适当的改动。

  # apt-get install isc-dhcp-server[安装ISC DHCP Server软件]

  # dpkg --get-selections isc-dhcp-server [证实已成功安装]

  # dpkg -s isc-dhcp-server [以另一种方式证实安装]

  将ISC DHCP Server安装在Debian中

  2 鉴于服务器软件已证实成功安装,现在就有必要为服务器配置它需要分发出去的网络信息。管理员最起码要知道基本DHCP范围的下列信息:

  •网络地址

  •子网掩码

  •将被动态分配的地址范围

  让服务器动态分配的其他实用信息包括如下:

  •默认网关

  •DNS服务器的IP地址

  •域名

  •主机名称

  •网络广播地址

  这些仅仅是ISC DHCP服务器所能处理的诸多选项中的几个而已。想获得每个选项的详细描述以及完整列表,安装程序包之后请输入下面这个命令:

  # man dhcpdconf

  3 一旦管理员确定了该服务器要分发出去的所有必要信息,现在就可以配置DHCP服务器以及必要的池了。不过,在创建任何池或服务器配置之前,必须配置DHCP服务,以便侦听服务器的其中一个接口。

  在这一台服务器上,网卡组已建立起来,DHCP会侦听被赋予名称“bond0”的组接口。考虑到服务器和一切已配置好的环境,务必要进行适当的更改。该文件中的默认值适用于本教程。

  配置ISC DHCP网络

  这一行将指示DHCP服务在指定的一个接口或多个接口上侦听DHCP流量。这时候,可以改动主配置文件,以便启动必要网络上的DHCP池。主配置文件位于/etc/dhcp/dhcpdconf。首先用文本编辑工具打开该文件:

  # nano /etc/dhcp/dhcpdconf

  该文件含有针对DHCP服务器的选项的配置,以及用户希望配置的所有池/主机。文件顶部以“ddns-update-style”子句开始;就本教程而言,它仍保持被设成“none”;不过在将来的一篇文章中,将会包括动态DNS, ISC-DHCP-Server将与BIND9整合起来,让主机名称转成IP地址的更新成为可能。

  4 下一节通常介绍管理员配置全局网络设置,比如DNS域名、IP地址的默认租期、子网掩码及更多选项。想进一步了解所有选项,请务必阅读dhcpdconf文件的参考手册页。

  # man dhcpdconf

  就这次安装的服务器而言,有几个全局网络选项已在配置文件的顶部配置好,那样它们没必要实施在创建的每一个池中。

  配置ISC DDNS

  我们不妨稍微抽点时间解释其中一些选项。虽然它们在本例中全局配置,但所有选项同样可以针对每个池来配置。

  •option domain-name “comptechlocal”:该DHCP服务器托管运行的所有主机将是DNS域名“comptechlocal”的成员。

  •option domain-name-servers 17227106:DHCP将向经配置以托管的所有网络上的所有主机分发DNS服务器IP,即17227106。

  •option subnet-mask 2552552550:被分发到每个网络上的子网掩码将是2552552550 或/24。

  •default-lease-time 3600:这是租期将自动有效的时间(以秒为单位)。如果时间超时,主机会重新请求同一租期。如果主机已用完租期,就能及早归还地址。

  •max-lease-time 86400:这是主机保持租期的最长时间(以秒为单位)。

  •ping-check true:这是一个额外测试,确保服务器想要分配出去的地址没有已被网络上的另一个主机所使用。

  •ping-timeout:这是指在假设地址未使用之前,服务器为响应ping而等待多长时间(以秒为单位)。

  •ignore client-updates:眼下这个选项无关紧要,因为DDNS之前已在配置文件中被禁用,但是当DDNS运行时,这个选项将忽视主机在DNS中更新主机名称的请求。

  5 该文件中的下面一行是权威DHCP服务器这行。这一行意味着,如果该服务器将是为该文件中所配置的网络分发地址的服务器,那么就取消注释权威节(authoritative stanza)。

  该服务器将是它所网络的所有网络上的唯一权威,那样只要去掉关键字authoritative(权威)前面的“#”,即可取消注释全局权威节。

  启用ISC Authoritative

  默认情况下,服务器假设不是网络上的权威。这么做是出于安全。如果有人不明就里对DHCP服务器配置不当,或者在不该连接的网络上,这就会引起严重的连接问题。这一行还可以针对每个网络来使用。这意味着,如果服务器不是整个网络的DHCP服务器,authoritative这一行就可以改而针对每个网络来使用,而不是像上面截图看到的那样用在全局配置中。

  6 下一步是配置该服务器管理的所有DHCP池/网络。为了简洁起见,本文将只介绍配置的其中一个池。管理员需要收集所有的必要网络信息(即域名、网络地址、多少地址可以分发出去,等等)。

  就这个池而言,下列信息从网络管理员处获得:网络ID为17227600,子网掩码为2552552550或/24,子网的默认网关是17227601,广播地址为1722760255。

  这些信息对于构建dhcpdconf文件中适当的网络节而言很重要。闲话少说,不妨再次使用文本编辑工具,打开配置文件,然后将新的网络添加到服务器。这必须借助root/sudo权限来完成!

  # nano /etc/dhcp/dhcpdconf

  配置DHCP协议和网络

  这是为了将IP地址分发给用于搭建VMware虚拟服务器的网络而建立的示例。第一行表明了网络以及该网络的子网掩码。然后在括号里面是DHCP服务器应该提供给该网络上主机的所有选项。

  第一个节range 172276050 1722760254;是DHCP服务器可以分发给该网络上主机的动态分配地址的范围。请注意头48个地址并不在池中;需要的话,这些地址可以静态分配给主机。

  第二个节option routers 17227601;将默认网关地址分发给该网络上的所有主机。

  最后一个节option broadcast-address 1722760255;表明该网络的广播地址。该地址不应该是范围节的一部分,因为广播地址无法分配给主机。

  一些指针务必总是以分号(;)来结束选项行,始终确保每个创建的网络用花括号{ }包起来。

  7 如果有更多的网络要建立,继续以合适的选项来建立,然后保存文本文件。一旦所有配置都完成, ISC-DHCP-Server进程需要重启,以便让新的变更生效。这可以用下面这个命令来实现:

  # service isc-dhcp-server restart

  这会重启DHCP服务,然后管理员可以通过几种不同的方式,检查服务器是否准备好处理DHCP请求。最简单的方式就是只要通过lsof命令,看看服务器是不是在侦听端口67:

  # lsof -i :67

  检查DHCP侦听端口

  这个输出结果表明,DHCPD(DHCP Server守护程序)在运行,并侦听端口67。由于/etc/services文件中端口67的端口号映射,该输出结果中的端口67实际上被转换成了“bootps”。

  这在大多数系统上很常见。至此,服务器应该已为网络连接准备好,只要将机器连接到网络,让它向服务器请求DHCP地址,即可加以证实。

1安装dhcp软件包

#rpm –ivh dhcp-301-12_ELi386rpm

2配置文件dhcpdconf

由于dhcpdconf默认没有包括在软件包中,所以要最近创建

#cp /usr/share/doc/dhcp-302/dhcpdconfsample /etc/dhcpdconf

3编辑dhcpdconf

#vi /etc/dhcpdconf

配置文件的基本格式

Subnet 19216810 netmask 2552552550 { range 1921681100 1921681200}

(声明了网络地址是19216810子网掩码是2552552550的子网中,ip地址从1921681100~1921681200之间的地址用于DHCP客户端进行动态地址分配)

在dhcpdconf配置文件中可以包括声明、参数和选项3种基本格式

Subnet是常用的声明,声明中的设置(大括号中的内容)在整个声明范围中有效;

Subnet关键字后面设置子网的网络地址,netmask关键字后面设置子网掩码

参数由设置项和设置值组成,根据参数所在位置的不同,参数的位置可作用于全局或指定的声明中,参数是以“;”结束的,如:

Default-lease-time 21600;(默认释放时间)

max-lease-time 43200;(最大释放时间)

选项总是由option关键字引导,后面跟具体的选项和选项的设置值,选项根据所在的位置不同可作用于全局或某个声明中,选项也是以“;”结束的,如:

Option routers 19216811 (网关)

Opyion subnet-mask 2552552550 (子网掩码)

使用host声明设置主机属性

host server01{

hardware Ethernet 0:c0:c3:22:46:81;

fixed-address 192168111;

option subnet-mask 2552552550

option routers 19216811;

}

上面的配置实例中使用host声明了名为server01的主机,其MAC地址为0:c0:c3:22:46:81,为主机分配使用的ip地址为192168111,同时为该主机设置的子网掩码是2552552550,网关地址是19216811

多网络接口时需要配置的文件

# vi /etc/sysconfig/dhcpd

DHCPDARGS=eth0

表示dhcp将只在eth0网络接口上提供DHCP服务。

4dhcpd服务的启动与停止

Dhcpd服务的启动脚本位于/etc/initd/dhcpd

启动dhcpd服务

#service dhcpd start

停止dhcpd服务

#service dhcpd stop

修改启动状态

#chkconfig –level 35 dhcpd on

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » LINUX 环境下DHCP的如何安装?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情