|
|
|
|
移动端

如何在Debian Linux上安装配置ISC DHCP Server?

动态主机控制协议(DHCP)为网络管理员们提供了一种更便利的方法,可以向不断变化即动态的网络上的主机提供网络层地址。提供DHCP功能的最常见的服务器实用工具之一就是ISC DHCP Server。该服务的目的就是,为主机提供必要的网络信息,以便能够在连接主机的网络上进行通信。

作者:布加迪/编译来源:51CTO.com|2015-04-20 08:58

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


动态主机控制协议(DHCP)为网络管理员们提供了一种更便利的方法,可以向不断变化即动态的网络上的主机提供网络层地址。提供DHCP功能的最常见的服务器实用工具之一就是ISC DHCP Server。该服务的目的就是,为主机提供必要的网络信息,以便能够在连接主机的网络上进行通信。通常由该服务送达的信息可能包括:DNS服务器信息、网络地址(IP)、子网掩码、默认网关信息、主机名称及更多信息。

本教程将探讨Debian 7.7服务器上的ISC-DHCP-Server版本4.2.4,该服务器将管理多个虚拟局域网(VLAN),但该教程同样很容易适用于单一网络环境。

架设有该服务器的测试网络传统上依赖思科路由器来管理DHCP地址租期。网络目前有12个VLAN需要由一个集中式服务器来加以管理。如果把这项责任移交给专用服务器,路由器就能为一些更重要的任务重新获得资源,比如路由、访问控制列表、流量检查和网络地址转换等任务。

将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 [以另一种方式证实安装]

如何在Debian Linux上安装配置ISC DHCP Server?

将ISC DHCP Server安装在Debian中

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

•网络地址

•子网掩码

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

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

•默认网关

•DNS服务器的IP地址

•域名

•主机名称

•网络广播地址

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

# man dhcpd.conf

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

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

如何在Debian Linux上安装配置ISC DHCP Server?

配置ISC DHCP网络

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

# nano /etc/dhcp/dhcpd.conf

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

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

# man dhcpd.conf

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

如何在Debian Linux上安装配置ISC DHCP Server?

配置ISC DDNS

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

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

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

•option subnet-mask 255.255.255.0:被分发到每个网络上的子网掩码将是255.255.255.0 或/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(权威)前面的“#”,即可取消注释全局权威节。

如何在Debian Linux上安装配置ISC DHCP Server?

启用ISC Authoritative

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

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

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

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

# nano /etc/dhcp/dhcpd.conf

如何在Debian Linux上安装配置ISC DHCP Server?

配置DHCP协议和网络

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

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

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

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

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

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

# service isc-dhcp-server restart

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

# lsof -i :67

如何在Debian Linux上安装配置ISC DHCP Server?

检查DHCP侦听端口

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

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

第二步:测试客户机连接性

8. 如今,大多数系统使用Network Manager(网络管理器)来维持网络连接;正因为如此,设备应该预先配置,以便接口处于活动状态时获取DHCP。

然而在不使用网络管理器的机器上,可能有必要手动尝试获取DHCP地址。下面几个步骤将演示如何完成这一操作,并且如何查看服务器是否是在分发地址。

“ifconfig”实用工具可以用来检查接口的配置。用来测试DHCP服务器的机器只有一个网络适配器,它被称为“eth0”。

# ifconfig eth0

如何在Debian Linux上安装配置ISC DHCP Server?

检查网络接口的IP地址

从该输出结果可以看出,该机器目前并没有IPv4地址,这很好!不妨指示该机器向外连接至DHCP服务器,并请求一个地址。该机器已安装了名为“dhclient”的DHCP客户机实用工具。DHCP客户机实用工具因系统的不同而不同。

# dhclient eth0

如何在Debian Linux上安装配置ISC DHCP Server?

向DHCP请求IP地址

现在“inet addr:”字段显示了属于为172.27.60.0网络配置的地址范围内的IPv4地址。另外要注意:除了该网络的子网掩码外,合适的广播地址也已被分发。

情况看来起不错,但不妨检查一下服务器,看看它是不是就是该机器收到这个新IP地址的地方。想完成这项任务,需要查看服务器的系统日志文件。虽然整个日志文件可能含有成千上万个条目,但只有几个条目是核实服务器在正常运行所必不可少的。这回,一款名为“tail”的实用工具可以用来只显示日志文件的最后几行,而不是使用标准的文本编辑工具。

# tail /var/log/syslog

如何在Debian Linux上安装配置ISC DHCP Server?

检查DHCP日志

瞧!服务器已记下将地址分发给这个主机(HRTDEBXENSRV)。基本上可以这么说,至此,服务器在按预期的方式运行,为它充当权威的网络分发合适的地址。至此,DHCP服务器已搭建并运行起来。配置其他的网络,排查故障,必要的话确保安全。

英文:How to Install and Configure Multihomed ISC DHCP Server on Debian Linux

【编辑推荐】

  1. 路由器IP指派DHCP和BOOTP不同之处
  2. 路由器模拟器、DNS及DHCP服务器模拟搭建的方法
  3. 动态主机配置协议DHCP
  4. 三个小技巧解决处理DHCP故障
  5. DHCP的基本实现原理
【责任编辑:蓝雨泪 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

读 书 +更多

SQL Server 2005数据库管理与应用高手修炼指南

全书分为基础篇、高级篇和应用篇3个部分,共18章,有重点、分层次地讲解SQL Server 2005的基础知识、高级使用技巧和项目应用方法。第1~10...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊