首页运维零件 › 这样新主机的主机名就会被添加到 DNS 系统里面,工作原理

这样新主机的主机名就会被添加到 DNS 系统里面,工作原理

安装和配置 ISC DHCP 服务器

1、使用 apt 工具用来安装 Debian 软件仓库中的 ISC
软件,来创建这个多宿主服务器。与其他教程一样需要使用 root 或者 sudo
访问权限。请适当的修改,以便使用下面的命令。(LCTT
译注:下面中括号里面是注释,使用的时候请删除,#表示使用的 root 权限)

# apt-get install isc-dhcp-server       [安装 the ISC DHCP Server 软件]
# dpkg --get-selections isc-dhcp-server     [确认软件已经成功安装]
# dpkg -s isc-dhcp-server           [用另一种方式确认成功安装]

图片 1

2、
确认服务软件已经安装完成,现在需要提供网络信息来配置服务器,这样服务器才能够根据我们的需要来分发网络信息。作为管理员最起码需要了解的
DHCP 信息如下:

  • 网络地址
  • 子网掩码
  • 动态分配的地址范围

其他一些服务器动态分配的有用信息包括:

  • 默认网关
  • DNS 服务器 IP 地址
  • 域名
  • 主机名
  • 网络广播地址

这只是能让 ISC DHCP
服务器处理的选项中非常少的一部分。如果你想查看所有选项及其描述需要在安装好软件后输入以下命令:

# man dhcpd.conf

3、
一旦管理员已经确定了这台服务器分发的所有必要信息,那么是时候配置服务器并且分配必要的地址池了。在配置任何地址池或服务器配置之前,必须配置
DHCP 服务器侦听这台服务器上面的一个接口。

在这台特定的服务器上,设置好网卡后,DHCP
会侦听名称名为’bond0′的接口。请适根据你的实际情况来更改服务器以及网络环境。下面的配置都是针对本教程的。

图片 2

这行指定的是 DHCP 服务侦听接口(一个或多个)上的 DHCP
流量。修改主配置文件,分配适合的 DHCP
地址池到所需要的网络上。主配置文件在 /etc/dhcp/dhcpd.conf。用文本编辑器打开这个文件

# nano /etc/dhcp/dhcpd.conf

这个配置文件可以配置我们所需要的地址池/主机。文件顶部有
‘ddns-update-style‘ 这样一句,在本教程中它设置为
‘none‘。在以后的教程中会讲到动态 DNS,ISC-DHCP-Server 将会与 BIND9
集成,它能够使主机名更新指向到 IP 地址。

4、 接下来的部分是管理员配置全局网络设置,如 DNS
域名,默认的租约时间,IP地址,子网的掩码,以及其它。如果你想了解所有的选项,请阅读
man 手册中的 dhcpd.conf 文件,命令如下:

# man dhcpd.conf

对于这台服务器,我们需要在配置文件顶部配置一些全局网络设置,这样就不用到每个地址池中去单独设置了。

图片 3

我们花一点时间来解释一下这些选项,在本教程中虽然它们是一些全局设置,但是也可以单独的为某一个地址池进行配置。

  • option domain-name “comptech.local”; – 所有使用这台 DHCP
    服务器的主机,都将成为 DNS 域 “comptech.local” 的一员
  • option domain-name-servers 172.27.10.6; DHCP 向所有配置这台 DHCP
    服务器的的网络主机分发 DNS 服务器地址为 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 前面的
‘#’,取消注释全局权威关键字。这台服务器将是它所管理网络里面的唯一权威。

图片 4

默认情况下服务器被假定为不是网络上的权威服务器。之所以这样做是出于安全考虑。如果有人因为不了解
DHCP
服务的配置,导致配置不当或配置到一个不该出现的网络里面,这都将带来非常严重的连接问题。这行还可用在每个网络中单独配置使用。也就是说如果这台服务器不是整个网络的
DHCP 服务器,authoritative
行可以用在每个单独的网络中,而不是像上面截图中那样的全局配置。

6、 这一步是配置服务器将要管理的所有 DHCP
地址池/网络。简短起见,本教程只讲到配置的地址池之一。作为管理员需要收集一些必要的网络信息(比如域名,网络地址,有多少地址能够被分发等等)

以下这个地址池所用到的信息都是管理员收集整理的:网络 ID 172.27.60.0,
子网掩码 255.255.255.0 或 /24, 默认子网网关 172.27.60.1,广播地址
172.27.60.255.0 。

以上这些信息对于构建 dhcpd.conf
文件中新网络非常重要。使用文本编辑器修改配置文件添加新网络进去,这里我们需要使用
root 或 sudo 访问权限。

# nano /etc/dhcp/dhcpd.conf

图片 5

当前这个例子是给用 VMWare 创建的虚拟服务器分配 IP
地址。第一行显示是该网络的子网掩码。括号里面的内容是 DHCP
服务器应该提供给网络上面主机的所有选项。

第一行, range 172.27.60.50 172.27.60.254; 这一行显示的是,DHCP
服务在这个网络上能够给主机动态分发的地址范围。

第二行,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

图片 6

这里输出的结果表明 dhcpd(DHCP
服务守护进程)正在运行并且侦听67端口。由于在 /etc/services
文件中67端口的映射,所以输出中的67端口实际上被转换成了 “bootps”。

在大多数的系统中这是非常常见的,现在服务器应该已经为网络连接做好准备,我们可以将一台主机接入网络请求DHCP地址来验证服务是否正常。

图片 7

2.安装软件:

yum list installed|grep dhcp查看是否安装
yum install -y dhcp安装dhcp(自动安装版本为4.1.1)

图片 8

查看安装和安装dhcp

也可以使用rpm -qa|grep dhcp查看安装的情况
Whereis dhcp查看安装的文件在哪里 /etc/dhcp里面有我们需要的配置文件。
在/etc/rc.d/init.d/下面的dhcp的脚本 dhcp6 是针对于IPv6

图片 9

查看安装和配置文件

图片 10

安装文件

图片 11

关于dhcp的文件

测试客户端连接

8、
现在许多系统使用网络管理器来维护网络连接状态,因此这个设备应该预先配置好的,只要对应的接口处于活跃状态就能够获取
DHCP。

然而当一台设备无法使用网络管理器时,它可能需要手动获取 DHCP
地址。下面的几步将演示怎样手动获取以及如何查看服务器是否已经按需要分发地址。

‘ifconfig‘工具能够用来检查接口的配置。这台被用来测试的 DHCP
服务器的设备,它只有一个网络适配器(网卡),这块网卡被命名为 ‘eth0‘。

# ifconfig eth0

图片 12

从输出结果上看,这台设备目前没有 IPv4
地址,这样很便于测试。我们把这台设备连接到 DHCP
服务器并发出一个请求。这台设备上已经安装了一个名为 ‘dhclient‘
的DHCP客户端工具。因为操作系统各不相同,所以这个客户端软件也是互不一样的。

# dhclient eth0

图片 13

当前 ‘inet addr:’ 字段中显示了属于 172.27.60.0 网络地址范围内的 IPv4
地址。值得欣慰的是当前网络还配置了正确的子网掩码并且分发了广播地址。

到这里看起来还都不错,让我们来测试一下,看看这台设备收到新 IP
地址是不是由服务器发出的。这里我们参照服务器的日志文件来完成这个任务。虽然这个日志的内容有几十万条,但是里面只有几条是用来确定服务器是否正常工作的。这里我们使用一个工具
‘tail’,它只显示日志文件的最后几行,这样我们就可以不用拿一个文本编辑器去查看所有的日志文件了。命令如下:

# tail /var/log/syslog

图片 14

OK!服务器记录表明它分发了一个地址给这台主机
(HRTDEBXENSRV)。服务器按预期运行,给它充当权威服务器的网络分发了适合的网络地址。至此
DHCP
服务器搭建成功并且运行。如果有需要你可以继续配置其他的网络,排查故障,确保安全。

在以后的Debian教程中我会讲一些新的 ISC-DHCP-Server
功能。有时间的话我将写一篇关于 Bind9 和 DDNS
的教程,融入到这篇文章里面。

编辑dhcp的配置文件 vim /etc/dhcp/dhcpd.conf

1.测试环境:Centos 6.9

虚拟主机中安装
软件版本:dhcp-4.1.1-53.P1.el6.centos.x86_64

动态主机控制协议(Dynamic Host Control
Protocol)(DHCP)给网络管理员提供了一种便捷的方式,为不断变化的网络主机或是动态网络提供网络层地址。其中最常用的
DHCP 服务工具是 ISC DHCP Server。DHCP
服务的目的是给主机提供必要的网络信息以便能够和其他连接在网络中的主机互相通信。DHCP
服务提供的信息包括:DNS
服务器信息,网络地址(IP),子网掩码,默认网关信息,主机名等等。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146999.htm

4.DDNS功能

动态域名服务:将用户的动态的IP地址映射到一个固定IP地址的域名解析服务上。现在有些路由器支持DDNS功能可以用来在自己家庭网络构建网站,而不用租用专用的网络空间商和IP地址

另一个将 DHCP
服务转移到专用服务器的好处,以后会讲到,它可以建立动态域名服务器(DDNS),这样当主机从服务器请求
DHCP 地址的时候,这样新主机的主机名就会被添加到 DNS 系统里面。

记录下在CentOS
7配置DHCP的过程。

5.客户端租约数据库文件

dhcpd.lease里面存储是已经分发的IP地址
可以使用配置文件中的lease-file-name语句改变dhcpd.leases文件的位置和名称
格式:lease IP地址{statements......}

本教程介绍运行在 Debian 7.7 上 4.2.4 版的 ISC-DHCP-Server
如何管理多个虚拟局域网(VLAN),也可以非常容易应用到单一网络上。

 authoritative:
指定当一个客户端试图获得一个不是该DHCP服务器分配的IP信息,DHCP将发送一个拒绝消息,而不会等待请求超时。当请求被拒绝,客户端会重新向当前DHCP发送IP请求获得新地址,当网络中有其他的DHCP服务器时,加上此参数可以忽略其他DHCP服务器。可把此参数加在dhcp.conf配置文件的第一行。
    default-lease-time:
设置默认租约时间,参数值单位是秒。默认租约时间表示客户端从服务器租用一个IP地址的默认时间,到大时间后客户端会向服务器提出继续租用该IP地址的请求。
    max-lease-time:
设置最大租约时间,参数值单位是秒。当客户端租约的地址到大这个时间,就不能继续租用该IP地址。
    option domain-name:
设置主机所在域的名称,设置的域名和主机名称一起组成主机全名。
    option domain-name-service
:设置DNS服务器地址,设置后客户机DNS会使用该地址,如果要设置多个DNS地址,用逗号隔开。

3.配置文件

查看配置文件如下图,发现默认里面什么都没有,可以参考dhcpd.conf.sample

图片 15

默认配置文件

dhcpd.conf

# Sample configuration file for ISC dhcpd
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600; #默认租约时间
max-lease-time 7200;#最大租约时间
# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none; # 动态DNS
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# Use this to send dhcp log messages to a different log file (you
also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
subnet 10.152.187.0 netmask 255.255.255.0 {
}#subnet定义子网
# This is a very basic subnet declaration.
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20; # 提供动态IP地址范围
option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#默认网关
}
# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.
subnet 10.254.239.32 netmask 255.255.255.224 {
range dynamic-bootp 10.254.239.40 10.254.239.60;
option broadcast-address 10.254.239.31;
option routers rtr-239-32-1.example.org;
}
# A slightly different configuration for an internal subnet.
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org; #域名服务器
option domain-name "internal.example.org";#域名选项
option routers 10.5.5.1;#默认网关
option broadcast-address 10.5.5.31;#广播地址选项
default-lease-time 600;
max-lease-time 7200;
}
# Hosts which require special configuration options can be listed in
# host statements. If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific
information
# will still come from the host declaration.
host passacaglia { #为客户端指定主机名称
hardware ethernet 0:0:c0:5d:bd:95;
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
}
# Fixed IP addresses can also be specified for hosts. These addresses
# should not also be listed as being available for dynamic
assignment.
# Hosts for which fixed IP addresses have been specified can boot
using
# BOOTP or DHCP. Hosts for which no fixed address is specified can
only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp
flag
# set.
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address fantasia.fugue.com;
}
# You can declare a class of clients and then do address allocation
# based on that. The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and
all
# other clients get addresses on the 10.0.29/24 subnet.
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 224-29 {#把多个子网定义在一个超级作用域内
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.example.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.example.org;
}
pool { # 地址池 未知客户端选择的地址范围
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {#已知的客户端从下面的地址池选择IP
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}#
}

测试用的网络是通过思科路由器使用传统的方式来管理 DHCP 租约地址的。目前有
12 个 VLAN 需要通过集中式服务器来管理。把 DHCP
的任务转移到一个专用的服务器上,路由器可以收回相应的资源,把资源用到更重要的任务上,比如路由寻址,访问控制列表,流量监测以及网络地址转换等。

注意事项

工作原理:

图片 16

工作原理

option domain-name "example.org";
 option domain-name-service ns1.example.org;
 default-lease-time 600;
 max-lease-time 7200;
 authoritative;
 subnet 10.0.2.0 netmask 255.255.255 .0{
 range 10.0.2.10 10.0.2.200;
 option domain-name-service ns1.internal.example.org;
 option domain-name "internal.example.org";
 option routers 10.0.2.254;
 option broadcast-address 10.0.2.255;
 default-lease-time 600;
 max-lease-time 7200;}
 host passacaglia{
    hardware ethernet 08:00:27:54:9d:67;
    fixed-address 10.0.2.55;
 }

6.DHCP中继代理

使用命令dhcrelay 实现中继代理的功能,具体命令格式

图片 17

dhcrelay命令格式

Server0 设置的是代理要访问到的DHCP服务器。

配置DHCP中继代理
vi /etc/sysconfig/dhcrealy

在里面输入:
INTERFACES="eth1" DHCPSERVERS="192.168.1.251"(IP地址根据自己的配置填写)
开启DHCP中继代理服务器的IPV4转发:
可以在两个地方开启:
vi /etc/sysctl.conf
将“net.ipv4.ip_forward = 0”改成“net.ipv4.ip_forward = 1”

图片 18

IPv4转发

执行sysctl –p命令使刚开启的IPV4转发功能生效。

图片 19

IPv4转发

② echo 1 > /proc/sys/net/ipv4/ip_forward

启动DHCP中继代理服务
dhcrelay 192.168.1.251

图片 20

启动中继代理

service dhcrelay start chkconfig --level 35 dhcrelay on

说明:dhcp的配置文件如果没有配置好是无法启动服务的,因此应该首先写配置文件,然后在启动服务

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=5348

上一篇:

下一篇:

相关文章