如何在Debian Linux上安装配置ISC DHCP Server
将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地址,即可加以证实。
DNS(域名解析系统)是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
自定搭建DNS主要是用于内部快速解析和快速定位,是提高网络访问、网络通信的一种手段。
DHCP:动态主机配置协议 Dynamic Host Configuration Protocol 动态主机配置协议 (DHCP) 是一种使网络管理员能够集中管理和自动分配 IP 网络地址的通信协议。
直白一些,企业内部搭建DHCP能够使内部机器快速获取IP地址,且唯一;自行搭建可以自定义网络规范,加强公司内部网络管理和提高网络质量。
在FreeBSD的Packages Collection中,有两个不同的DHCP客户机和服务器软件,一 个为ISC-DHCP,另一个为WIDE-DHCP,两个软件都包括了DHCP客户软件和服务器软件,其中ISC-DHCP 更为常用一些,这里就以ISC-DHCP为例介绍在FreeBSD上安装和设置DHCP。
为了支持DHCP,首先要确认系统内核支持伪设备bpfilter,如果没有,就需要重新编译内核。伪设备bpfilter 是一个允许应用程序接收网络的原始数据包的界面,这样应用程序就能接收目的地址非本机IP地址的数据包 了。DHCP使用bpfilter的原因是在DHCP设置好计算机的TCP/IP之前,由于计算机本身没有定义IP地 址,而TCP/IP堆栈本身不会接收不具备本机IP地址的数据包。要接收DHCP服务器发送回客户的数据包,就需要绕 过TCP/IP堆栈,而必须使用伪设备bpfilter。
1 pseudo-device bpfilter 4
定制内核之后,还要保证/dev/目录下具有对应bpfilter的设备文件。
1 # cd /dev
2 # sh MAKEDEV bpf0 bpf1 bpf2 bpf3
从Packages Collecion中安装DHCP软件,这将DHCP软件中的dhcpd,dhclient和dhcprelay 安装到/usr/local/sbin目录下。
1 $ ls /usr/local/sbin/dhc
2 /usr/local/sbin/dhclient
3 /usr/local/sbin/dhcpd
4 /usr/local/sbin/dhcrelay
设置服务器
为了设置DHCP服务器dhcpd,首先就要设置其配置文件/etc/dhcpdconf。这个配置文件 语法简单,比较容易理解。
1 server-identifier 19216831;
2
3 subnet 19216830 netmask 2552552550 {
4 range 192168310 192168320;
5 default-lease-time 600;
6 max-lease-time 7200;
7 option subnet-mask 2552552550;
8 option broadcast-address 1921683255;
9 option routers 19216831;
10 option domain-name-servers 19216831;
11 option domain-name "exampleorgorgcn";
12 }
13
14 host a1 {
15 hardware ethernet 00:90:27:4e:92:09;
16 fixed-address 192168332;
17 option subnet-mask 2552552550;
18 option broadcast-address 1921683255;
19 option routers 19216831;
20 option domain-name-servers 19216831;
21 option domain-name "exampleorgorgcn";
22 }
基本的dhcpdconf首先使用server-identifier定义了本服务器的IP地址,这对于有 多个IP地址的服务器系统十分重要,一般不必设置这个参数,dhcpd能自动侦测。然后定义要分配IP地址的客户机组 ,每组拥有一个可用的IP地址范围。有两种客户机组的划分方式,一种为指定子网段来区分,一种为指定主机来区分。
这个例子中的第一组定义了一个子网19216830/24,这个子网段内,可供DHCP服务器分配的I P地址范围为192168310到192168320,这个地址范围也可以不是连续的,不连续的地址可以 使用多个range设置参数来设置。此外,还设置了这一组内分配的IP地址的租期限制default-lease-time 和max-lease-time,可以使用缺省值,而不必改动。后面的option参数设置DHCP的附加功能 ,例如设置DHCP客户的网络掩码、广播地址、DNS服务器、域名等等。事实上这些option设置选项也可以被用作 全局选项设置,即放置在server-identifier之后,对所有的客户机组起作用。
例子的第二组是针对某个特定主机a1进行的设置,这个主机被限定为以太网地址为hardware ethernet 参数值的计算机,将给这个计算机分配一个固定地址。这种分配方式实际等价于固定地址分配方式,唯一的好处就是能够对IP地址进行集中管理,不必每个计算机分别设置了。这里同样也可以使用option参数,设置TCP/IP的参数 。
dhcpdconf中还能有更多的组,包括对非本网段的子网上的客户机指定的组。
当设置了dhcpdconf之后,就能启动dhcpd守护进程了,由于计算机会有多个网络界面,需要指定dhcpd 服务器的网络界面,以便回应相应界面上的DHCP请求。
1 # /usr/local/sbin/dhcpd fxp0
在调试阶段,可以使用-d参数,这样dhcpd就不会进入后台运行,而一直保留在前台,并显示各个与客户计算机通信的过程。当一切都调试完毕之后,就能去除-d参数,并将执行命令放入rclocal启动脚本中,以便系统能够自动执行。
此后,dhcpd正常运行的时候,会将每一次客户请求及其回应的IP地址分配的记录,都记录在/var/run/dhcpdleases 文件中。为了使dhcpd能正常进行日志记录,应该在启动dhcpd之前使用touch 命令,生成一个新的日志文件。以后就可以查看这个日志文件的内容,以得到当前DHCP服务器的状态和客户机IP地址分 配的情况。以下是一个日志文件的部分内容。
1 lease 192168311 {
2 starts 3 1998/11/26 05:46:28;
3 ends 4 1998/11/27 05:46:28;
4 hardware ethernet 0:80:c2:12:fd:d;
5 uid 1:0:80:c2:12:fd:d;
6 }
touch命令的优点是在存在相关的文件时,不删除或更改文件内容,只更新其访问时间设置,只有在文 件不存在时才生成新文件。
然后就能设置网络中的客户计算机使用DHCP协议,获取合法的IP地址了。通常Windows计算机的TCP/IP设置 中能直接设置支持DHCP协议,如果为Unix(包括FreeBSD)设置DHCP客户软件,就需要dhclient的支持。
设置客户软件
ISC-DHCP中同样也提供了一个客户程序dhclient,用于FreeBSD系统从DHCP服务器上动态获取一个IP地 址。这个程序同样也要求内核支持bpfilter伪设备。
dhclient使用的配置文件为/etc/dhclientconf,然而最一般的情况下可以不使用它,软件本身的缺省配置就满足一般情况下请求IP地址的需要了。缺省设置下dhclient在获得了IP地址之后,会自动执行/etc/dhclient-script 这个脚本程序,以针对刚获取的动态IP地址进行必要的设置。很多依赖于IP地址的网络服务,就可以在这个脚 本中启动,或者针对重新分配的动态IP地址对已有的网络服务进行修正。虽然使用者也许不希望使用这个脚本 设置网络,但如果不存在这个脚本程序,或者这个程序不可执行,那么dhclient就不能正常执行。
因此对于最一般的客户机,一般只连接到一个网络上,仅具备一个网络界面,可以使用一个空的dhclientconf 和空的declient-script文件,就能完成设置IP地址和其他TCP/IP参数的任务了。
1 # touch /etc/dhclientconf
2 # touch /etc/dhclient-script
3 # chmod +x /etc/dhclient-script
4 # /usr/local/sbin/dhclient fxp0
5
6 Listening on BPF/fxp0/00:90:27:4e:92:09/unattached
7 Sending on BPF/fxp0/00:90:27:4e:92:09/unattached
8 Sending on Socket/fallback/fallback-net
9 DHCPDISCOVER on fxp0 to 255255255255 port 67 interval 22
10 DHCPOFFER from 19216831
11 DHCPREQUEST on fxp0 to 255255255255 port 67
12 DHCPACK from 19216831
13 bound to 192168332 -- renewal in 3600 seconds
在更复杂的情况下,就要指定更多的内容,例如当系统有多个网卡时,要指定dhclient应该从哪个子网中获 得IP地址设置,就需要使用设置文件dhclientconf。一般除非有多个局域网网络界面,都应该使用空设置文件, 避免产生配置错误。以下为一个简单的dhclientconf的例子,可以用于多网络界面的情况:
1 # Defaults
2 timeout 60;
3 reboot 10;
4 retry 60;
5 select-timeout 5;
6 initial-interval 2;
7 script "/etc/dhclient-script";
8 interface "fxp0" {
9 request subnet-mask, broadcast-address, routers, domain-name-servers,
10 domain-name, host-name;
11 require domain-name-servers;
12 }
这个设置文件主要用于重新定义一些参数,比较容易理解,更改也比较容易。
成功的手工执行dhclient之后,就可以考虑将其和系统启动文件相结合了。因为很多网络服务是依赖于网络 配置的,应该在启动这些网络服务之前使用DHCP配置好TCP/IP。使用dhclient-script启动服务的想法虽然也能解决问题,然而这就不能使用系统的启动rc文件中的相关设置启动网络服务,而在这个dhclient-script 中重新启动,因此比较麻烦。更简便的做法是仅仅在dhclient-script中设置hostname, 而让系统启动文件完成其他网络服务的启动。这样就要求将dhclient与系统rc文件结合起来。
1 #hostname="mydomainname"
2 network_interfaces="fxp0 lo0"
3 # List of network interfaces (lo0 is loopback)
4 ifconfig_lo0="inet 127001"
5 # default loopback device configuration
6 #ifconfig_fxp0="inet 192168312 netmask 2552552550"
7 defaultrouter="NO"
8 # Set to default gateway (or NO)
这样就需要更改rcconf文件,更改一些设置语句。首先要注释hostname设置,而在dhclientscript中进行设置,也不必设置defaultrouter,它通过DHCP协议自动设置。同时要保证netwo
安装IPv4 DHCP服务器 一般来说,DHCP服务器往往都需要安装在有Windows 2000 Server以上版本的计算机系统中;并且,作为DHCP服务器的计算机系统必须安装使用TCP/IP协议,同时需要设置静态的IP地址、子网掩码,指定好默认网关地址以及DNS服务器地址等。对于Windows 2008 Server系统来说,在默认状态下DHCP服务器并没有被安装,为此我们可以先按照如下步骤来将DHCP服务器安装成功:
首先以超级管理员权限进入Windows 2008 Server系统,打开该系统的“开始”菜单,从中依次选择“程序”/“管理工具”/“服务器管理器”命令,在弹出的服务器管理器窗口中,单击左侧显示区域的“角色”选项,在对应该选项的右侧显示区域中,单击“添加角色”按钮,打开如图1所示的服务器角色列表窗口。
选中该列表窗口中的“DHCP服务器”选项,当然,要是Windows 2008 Server系统没有使用静态IP地址时,系统将会在选中“DHCP服务器”选项之后自动弹出提示窗口,告诉我们本地系统没有使用静态IP地址,并询问我们是否要继续安装DHCP服务器;此时,我们必须重新对Windows 2008 Server系统设置一个合适的静态IP地址,而不建议使用动态IP地址,因为DHCP服务器的IP地址要是发生变化时,那么局域网中的普通工作站将无法连接到DHCP服务器上。
选中“DHCP服务器”选项后,单击“下一步”按钮,屏幕上将会弹出DHCP服务器简介窗口(如图2所示);在这里,我们不但能够了解到DHCP服务器的作用,而且还能知道在安装DHCP服务器之前需要做好哪些准备工作;在确认自己的准备工作已经完成后,继续单击“下一步”按钮,在其后弹出的向导提示界面中,我们会看到系统要求指定好IPv4协议下的DNS服务器地址,这里设置的DNS服务器地址将会被集成到DHCP服务器中,日后当DHCP服务器更新IP地址信息的时候,相应的DNS更新会将计算机的名称到IP地址的关联进行同步。此外,在这里我们还需要设置好局域网客户端将用于名称解析的父域名,这个域将用于我们在这台DHCP服务器上创建的所有作用域。
接着向导提示窗口会询问我们是否要设置WINS服务器地址参数,如果设置了该参数,那么该参数同样也会自动适用于局域网中的所有客户端,在默认状态下,DHCP服务器的安装向导程序会选中“此网络上的应用程序不需要WINS”选项(如图3所示);当然,要是本地局域网中确实存在WINS服务器时,那我们就可以选中这里的“此网络上的应用程序需要WINS”选项,之后正确设置好目标WINS服务器的IP地址。
下面,再单击向导提示窗口中的“下一步”按钮,在其后出现的设置窗口中,我们可以根据本地局域网的IP地址分配情况,合适设置好DHCP服务器的作用区域,也就是说设置好DHCP服务器的适用范围,因为只有创建好合适的作用域之后,DHCP服务器才能有效地将IP地址自动分配给局域网中的普通工作站;在进行这项设置操作时,我们可以单击该向导设置窗口中的“添加”按钮,打开如图4所示的添加作用域设置窗口,在该设置窗口的作用域名处指定好具体的DHCP作用域名称,在起始IP地址文本框中输入局域网网络的开始IP地址,在结束IP地址文本框中输入局域网网络的末尾IP地址,再将子网掩码地址、默认网关地址等参数设置成与Windows 2008 Server系统的相关参数相同就可以了,最后再设置好子网类型,同时选中“激活此作用域”选项,并单击“确定”按钮结束DHCP作用域的添加设置操作。
一、虚拟机软件的优点:
1、可模拟真实操作系统,做各种操作系统实验(如:搭建域服务器,搭建web服务器,搭建ftp服务器,搭建dhcp服务器,搭建dns服务器等);
2、虚拟机的快照功能可以与ghost工具备份功能相媲美,并且可以快速创建还原点,也可以快速恢复还原点;
3、可桥接到真实电脑上上网,更好的保障了安全性;
4、在只有1台电脑的情况下,需要另外几台电脑共同搭建复杂应用环境,虚拟机即可代劳;
5、可以在虚拟机中测试比较怀疑的工具;
6、真实的工具可在虚拟机中正常使用前提要模拟相应的操作系统;
7、可快速克隆操作系统副本。
二、虚拟机使用的几个小技巧(以虚拟机v901为例):
1、与真实电脑桥接,使虚拟机可上网的设置;
2、与真实电脑共享数据或工具;
(1)、方法一:安装虚拟机驱动程序,重启后便可与真实电脑直接拖拽文件或工具;
重启后便大功告成,可以与真实机之间直接拖拽文件或工具。
(2)、方法二:创建共享文件夹(需要关闭虚拟机的状态下设置);
3、创建快照;
4、恢复快照;
5、虚拟机设置读取移动磁盘;
6、打开虚拟机系统的任务管理器不能用ctrl+alt+del键,需要在虚拟机操作系统任务栏操作,或者在虚拟机软件上操作;
方法一
方法二
7、未安虚拟机驱动前,鼠标移出真实机需要按ctrl+alt键;
8、虚拟机全屏;
方法一
方法二
9、虚拟机软件截图(快捷键ctrl+alt+prtsc);
10、虚拟机工具录像;
11、创建系统副本,克隆;
12、压轴技巧,虚拟机创建操作系统;
1、搭建telnet服务器。
2、搭建DHCP服务器。
3、搭建DNS服务器。
4、搭建sendmail服务器
5、搭建FTP服务器。
6、搭建web服务器安装apachetomcat。
7、搭建samba服务器。
windows比较人性化,容易操作
架设dhcp服务使用tftpd32(不要用windows自带的),可以去下载一个,dns服务在windows里开启就可以了,web服务只需要安装一个自带的万维网服务(用i386安装)就可以了
linux全代码操作但是安全性很高
如果是资深技术员,建议使用linux,如果是初学者,建议使用windows
有疑问请补充
0条评论