系列丛书总索引:《中小企业计算机网络:导论》
朋友们好!在本文中,我们将了解如何在 CentOS Linux(特别是 7.2 版本)中实现重要的网络服务DNS 和 DHCP 。
- 有关DNS的一些文章提到了该服务的实现有点晦涩难懂的事实。 我不太同意那句话。 我宁愿说这有点概念性,并且它的许多配置文件都具有挑剔的语法。 幸运的是,我们有工具可以逐步检查我们修改的每个配置文件的语法。 因此,我们将尝试使本文变得尽可能愉快和愉快。.
对于同时寻求这两种服务基础知识的人员,我们强烈建议您从Wikipedia(西班牙语和英语)开始搜索。 同样,英语文章几乎总是更加完整和连贯。 维基百科仍然是一个很好的起点。
真正想了解 DNS 和 BIND 的人建议阅读Paul Albitz和Cricket Liu所著的《 OReilly – DNS 和 BIND 第 4 版》一书,或者阅读肯定存在的后续版本。
我们之前已经发表过一篇题为“ openSUSE 13.2 Harlequin 中的 DNS 和 DHCP – SME 网络”的文章,供喜欢图形界面的用户参考。但是,今后您将会看到一些关于此主题的文章(但其他主题的文章不会)大量使用终端或控制台模拟器撰写。换句话说,这些文章将采用 UNIX®/Linux 系统管理员常用的经典风格。
如果您想了解更多关于本文标题“中小企业网络”的主题,可以访问本博客上的“中小企业网络:第一轮虚拟会议”页面。在那里,您可以找到许多其他已发表文章的链接。
- 使用推荐的软件包完成CentOS 7操作系统的安装后, el目录 /usr/share/doc/bind-9.9.4/ 它包含大量文档,我们建议您在进入Internet搜索之前先咨询一下,而无需首先知道在您的指尖和家中就能找到所需的内容。
基本系统安装
域和DNS服务器的常规数据
域名: desdelinux。风扇 DNS服务器名称: 域名。desdelinux。风扇 IP地址:192.168.10.5 子网掩码:255.255.255.0
安装
我们首先全新安装 CentOS 7 操作系统,如前文“ CentOS 7 Hypervisor I – SME Networks ”中所述。我们只需要进行以下更改:
- 在 imagen画质22 «软件选择«,我们建议您在左侧栏中选择«基础环境»对应于«的选项基础架构服务器«,而在右列中«所选环境的插件»选中复选框«DNS名称服务器«。 稍后我们将安装DHCP服务器。
- 让我们记住其他存储库的声明,如 imagen画质23,在设置«之后网络和团队名称«。
- 涉及我们将在硬盘驱动器上创建的分区的映像仅供参考。 可以根据自己的判断,实践和良好的判断随意选择分区。
- 最后,在 图13«网络和团队名称»我们必须根据声明的域和DNS服务器的常规参数更改值,而不要忘记指定主机名-在这种情况下,«DNS«-网络配置完成后。 做是积极的 平 -从另一台主机-到网络活动后到指定的IP地址:
相对于上一篇文章,实际上我们几乎不需要做出非常明显的更改。
初步检查和调整
安装操作系统后,我们至少必须检查以下文件,为此,我们从计算机通过SSH启动会话 系统管理员。desdelinux。风扇:
嗡嗡声@ sysadmin:〜$ ssh 192.168.10.5 [email protected]密码:上次登录时间:2017年1月28日星期六 09:48:05,来自 192.168.10.1 [buzz @ dns〜] $
上面的操作可能需要比正常时间更长的时间,这主要是由于我们在LAN上还没有DNS。 稍后再次检查DNS是否正常工作。
[嗡嗡声@ dns〜] $ cat / etc / hosts 127.0.0.1本地主机本地主机。本地域本地主机4本地主机4.本地域4 :: 1本地主机本地主机。本地域本地主机6本地主机6.本地域6 [buzz @ dns〜] $ cat / etc / hostname DNS [buzz @ dns〜] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe DEVICE=eth0 ONBOOT=yes IPADDR=192.168.10.5 PREFIX=24 GATEWAY=192.168.10.1 DNS1=127.0.0.1 DOMAIN=desdelinux.fan [buzz @ dns〜] $ cat /etc/resolv.conf # 由 NetworkManager 搜索生成 desdelinux.fan 域名服务器 127.0.0.1
主要配置反映了我们的选择。请注意,即使在Red Hat 7 或 CentOS 7服务器上, NetworkManager默认也配置为管理网络接口(无论是有线还是无线 (WiFi))、VPN 连接、PPPoE 连接以及任何其他网络连接。
[buzz @ dns〜] $ sudo systemctl status networkmanager 嗡嗡声的[sudo]密码:●networkmanager.service已加载:找不到(原因:没有此类文件或目录)有效:无效(无效) [buzz @ dns〜] $ sudo systemctl status网络管理器 ●NetworkManager.service-已加载网络管理器:已加载(/usr/lib/systemd/system/NetworkManager.service;已启用; 供应商预设:启用)有效:自2017年01月28日星期六美国东部时间起有效(运行); 12分钟前主PID:23(NetworkManager)CGroup:/system.slice/NetworkManager.service└─59/ usr / sbin / NetworkManager --no-daemon
Red Hat 和 CentOS 也允许您使用经典的`ifup`和`ifdown`命令连接和断开网络接口。让我们在服务器控制台中运行以下命令:
[root @ dns〜]#ifdown eth0 设备“ eth0”已成功断开连接。 [root @ dns〜]#ifup eth0 连接已成功激活(D-Bus活动路径:/ org / freedesktop / NetworkManager / ActiveConnection / 1)
- 我们建议 不要更改CentOS 7提供的默认设置 网络管理员.
我们明确声明我们将要使用的存储库,并在必要时更新操作系统:
[buzz @ dns〜] $ su密码:[root @ dns buzz]#cd /etc/yum.repos.d/ [root @ dns yum.repos.d]#ls -l 总计28 -rw-r-r--。 1个根目录1664 9年2015月1日CentOS-Base.repo -rw-r-r--。 1309个root 9 2015年1月649日CentOS-CR.repo -rw-r-r--。 9个root 2015 1年290月9日CentOS-Debuginfo.repo -rw-r-r--。 2015 root root 1 630年9月2015日CentOS-fasttrack.repo -rw-r-r--。 1个root 1331 9年2015月1日CentOS-Media.repo -rw-r-r--。 1952 root root 9 2015年XNUMX月XNUMX日CentOS-Sources.repo -rw-r-r--。 XNUMX个root XNUMX年XNUMX月XNUMX日CentOS-Vault.repo
阅读 CentOS 推荐的存储库的原始声明文件的内容是有益的。我们在这里所做的改变是因为我们没有互联网接入,我们使用从 WWW Village 下载的本地存储库,这些存储库是由同事们下载的,他们让我们的生活变得更轻松一些。
[root @ dns yum.repos.d]#mkdir原始 [root @ dns yum.repos.d]#mv CentOS- *原始/ [root @ dns yum.repos.d]#nano centos-repos.repo [centos-base] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/base/ gpgcheck=0 enabled=1 [centos-updates] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/ gpgcheck=0 enabled=1 [root @ dns yum.repos.d]#百胜清理全部 加载的插件:最快的镜像,langpack清理存储库:centos-base centos-updates清理所有内容 [root @ dns yum.repos.d]#yum更新 加载的插件:最快的镜像,基于centos的langpack | 3.4 kB 00:00 centos-updates | 3.4 kB 00:00(1/2):基于centos-base / primary_db | 5.3 MB 00:00(2/2):centos-updates / primary_db | 9.1 MB 00:00确定最快的镜像没有标记为更新的软件包
“没有标记为更新的软件包”消息表明,通过在安装过程中声明可用的最新存储库,已安装了最新的软件包。
关于SELinux上下文和防火墙
我们将从根本上将本文重点放在DNS和DHCP服务的实现上,这是其主要目标。
如果任何读者在安装过程中选择了安全策略(如图 06所示,该策略用于安装此 DNS-DHCP 服务器,参考文章“ CentOS 7 Hypervisor I – SME Networks ”中也使用了该策略),并且发现自己不知道如何正确配置 SELinux 和 CentOS 防火墙,我们建议他们运行以下命令:
修改/etc/sysconfig/selinux文件,将SELINUX=enforcing 改为SELINUX =disable
[root @ dns〜]#nano / etc / sysconfig / selinux #此文件控制系统上SELinux的状态。 #SELINUX =可以采用以下三个值之一:#强制-强制执行SELinux安全策略。 #允许-SELinux打印警告而不是强制执行。 #已禁用-未加载SELinux策略。 SELINUX =禁用 #SELINUXTYPE =可以采用三个两个值之一:#目标-保护目标进程,#最小-修改目标策略。 仅选定的进程是PR $#mls-多级安全保护。 SELINUXTYPE =目标
然后运行以下命令
[root @ dns〜]#setenforce 0
[root @ dns〜]#服务firewalld停止 重定向到/ bin / systemctl停止firewalld.service [root @ dns〜]#systemctl禁用firewalld 删除了symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service。 删除了符号链接/etc/systemd/system/basic.target.wants/firewalld.service。
如果您要部署面向互联网的 DNS 服务器,则不应遵循上述说明。而应正确配置 SELinux 上下文和防火墙。请参阅Joel Barrios Dueñas 撰写的《使用 GNU/Linux 配置服务器》或 CentOS/Red Hat 文档。
我们配置BIND-命名
- El目录 /usr/share/doc/bind-9.9.4/ 包含大量文档,我们建议您在进入Internet搜索之前先咨询一下,而无需首先知道在您的指尖和家中就可以找到想要的东西
在许多发行版中,通过 BIND 软件包安装的 DNS 服务名为named(名称守护进程)。在 CentOS 7 中,默认情况下它处于禁用状态,如以下命令的输出所示,其状态为“ disabled ”,并且此状态由其供应商预先定义——供应商预设。请注意,BIND 是自由软件。
启用命名服务
[root @ dns〜]#systemctl状态命名 ●named.service-已加载的伯克利Internet名称域(DNS):已加载(/usr/lib/systemd/system/named.service; 禁用; 供应商预设:禁用)有效:无效(无效) [root @ dns〜]#systemctl enable命名 创建了从/etc/systemd/system/multi-user.target.wants/named.service到/usr/lib/systemd/system/named.service的符号链接。 [root @ dns〜]#systemctl开始命名 [root @ dns〜]#systemctl状态命名 ●named.service-已加载的伯克利Internet名称域(DNS):已加载(/usr/lib/systemd/system/named.service; 启用; 供应商预设:禁用) 有效:有效(运行) 从2017年01月28日星期六开始EST; 13分钟前进程:22 ExecStart = / usr / sbin /名为-u名为$ OPTIONS(代码=已退出,状态= 38 /成功)进程:5 ExecStartPre = / bin / bash -c如果[! “” $ DISABLE_ZONE_CHECKING“ ==”是“]] 然后/ usr / sbin / named-checkconf -z /etc/named.conf; 否则回显“禁用区域文件检查”; fi(代码=退出,状态= 1990 /成功)主要PID:0(命名)CGroup:/system.slice/named.service└─1988/ usr / sbin /命名-u命名Jan 0 1993:1993:28 dns命名[13]:错误(网络无法访问)解析为“ ./NS/IN”:22:45:1993f :: f#2001 Jan 500 2:53:28 DNS命名为[13]:错误(网络无法访问)解析为“ ./ DNSKEY / IN':22:47:1993 :: 2001#500 Jan 3 42:53:28 DNS名为[13]:错误(网络无法访问)解决'./NS/IN':22:47:1993 :: 2001 #500 Jan 3 42:53:28 dns命名为[13]:错误(网络无法访问)解析为'./DNSKEY/IN':22:47:1993d :: d#2001 Jan 500 2:53:28 dns命名为[13 ]:错误(网络无法访问)解析为“ ./NS/IN”:22:47:1993d :: d#2001 500月2日53:28:13 dns命名为[22]:错误(网络无法访问)解析为“ ./DNSKEY/ IN':47:dc1993 :: 2001#3 Jan 35 53:28:13 dns命名为[22]:错误(网络无法访问)解决'./NS/IN':47:dc1993 :: 2001#3 Jan 35 53: 28:13名称为[22]的dns解析'./DNSKEY/IN':47:1993fe :: 2001#7 Jan 53 53:28:13名称为[22]的dns称错误(网络不可达)res olving'./NS/IN':47:1993fe :: 2001#7 Jan 53 53:28:13 dns命名为[22]:managed-keys-zone:无法获取DNSKEY集'。':超时 [root @ dns〜]#systemctl重新启动命名 [root @ dns〜]#systemctl状态命名 ●named.service-伯克利Internet名称域(DNS)已加载:已加载(/usr/lib/systemd/system/named.service;已启用;供应商预设:已禁用) 有效:有效(运行) 从2017年01月28日星期六开始EST; 13秒钟前进程:29 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 41>&1 || / bin / kill -TERM $ MAINPID(代码=退出,状态= 1449 /成功)进程:2 ExecStart = / usr / sbin /命名为-u的$ u OPTIONS(代码=退出,状态= 1 / SUCCESS)进程:0 ExecStartPre = / bin / bash -c如果[! “” $ DISABLE_ZONE_CHECKING“ ==”是“]] 然后/ usr / sbin / named-checkconf -z /etc/named.conf; 否则回显“禁用区域文件检查”; fi(代码=已退出,状态= 1460 /成功)主PID:0(已命名)CGroup:/system.slice/named.service└─1457/ usr / sbin /命名-u命名Jan 0 1463:1463:28 dns命名[13]:受管密钥区域:日记文件已过期:删除日志文件Jan 29 41:1463:28 dns名为[13]:受管密钥区域:已加载的序列Jan 29 41 1463:2:28 dns命名为[13]:区域29.in-addr.arpa/IN:加载串行41 Jan 1463 0:0:28 dns命名为[13]:区域localhost.localdomain / IN:加载串行29 Jan 41 1463:0:28 dns名为[13]:区域29.in-addr.arpa/IN:加载的串行41 Jan 1463 1.0.0.127:0:28 dns名为[13]:区域29 .41.ip1463.arpa / IN:加载串行1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 Jan 6 0:28:13 dns命名为[29]:区域localhost / IN:加载串行41 Jan 1463 0 :28:13名为[29]的dns:加载所有区域41月1463日28:13:29名为[41]的dns:正在运行1463月28日13:29:41 dns systemd [1]:启动了伯克利Internet名称域(DNS)。
首次启用并启动named服务后, `systemctl status named`命令的输出会显示错误。重启服务后,named 服务默认会创建所有正常运行所需的配置文件。因此,再次运行`systemctl status named`命令时,不会再显示错误。
- 亲爱的、昂贵的、要求高的读者:如果你想至少找出哪条路径通向兔子洞的尽头,请冷静地阅读每个命令的详细输出。 当然,这篇文章看起来有点长,但你不会否认它的解释和清晰度有所提高.
我们修改文件/etc/named.conf
许多读者的评论都提到了这一点——而且我并非唯一这么认为的人——不同 Linux 发行版的维护者习惯于将系统配置文件放在名称各异的文件夹中,具体取决于发行版。他们说得没错。但是,我们这些普通用户又能怎么办呢?适应吧!😉
顺便一提,在 FreeBSD(UNIX®“起源”的克隆版)中,该文件位于/usr/local/etc/namedb/named.conf;而在 Debian 中,除了分为named.conf、named.conf.options、named.conf.default-zones 和 named.conf.local这四个文件外,它还位于/etc/bind/ 文件夹中。想知道 openSUSE 将其放置在哪里的人,可以阅读“ openSUSE 13.2 Harlequin 中的 DNS 和 DHCP – SME Networks ”。读者们说得对!😉
和往常一样:在修改任何内容之前,我们将原始配置文件另存为另一个名称。
[root @ dns〜]#cp /etc/named.conf /etc/named.conf.original
为了简化操作,我们不通过 DHCP 生成用于动态 DNS 更新的TSIG密钥,而是复制相同的rndc.key作为dhcp.key。
[root @ dns〜]#cp /etc/rndc.key /etc/dhcp.key
[root @ dns〜]#纳米/etc/dhcp.key
密钥“ dhcp-key” {算法hmac-md5; 秘密“ OI7Vs + TO83L7ghUm2xNVKg ==”; };
为了使指定用户能够读取新复制的文件,我们需要修改其所属组:
[root @ dns〜]#chown root:命名为/etc/dhcp.key [root @ dns〜]#ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----。 1个名为77 Jan 28 16:36 PM /etc/dhcp.key -rw-r -----的根目录。 1个名为77 Jan 28 13:22 /etc/rndc.key的根
像上一个小细节一样,是什么可以驱使我们疯狂地试图找出答案,现在……问题出在哪里……? 还有更多的形容词,我们也不是出于对Respectable的尊重而写的。
现在,我们终于修改了/etc/named.conf文件。与原始文件相比,我们所做的更改或添加的内容以粗体显示。请注意,更改或添加的内容很少。
[root @ dns〜]#nano /etc/named.conf
// // // named.conf // //由Red Hat绑定包提供,用于将名为(8)DNS的ISC BIND配置为仅缓存名称服务器(仅作为localhost DNS解析器)。 // //请参见/ usr / share / doc / bind * / sample /,例如命名配置文件。 //
//访问控制列表,声明可以查询的网络
//我的命名服务器
acl 陷入困境 {
127.0.0.0 / 8;
192.168.10.0 / 24;
};
选项{
//我声明命名的守护程序也侦听该接口
// eth0,其IP:192.168.10.5
监听端口53 {127.0.0.1; 192.168.10.5; };
v6监听端口53 {:: 1; }; 目录“ / var / named”; 转储文件“ /var/named/data/cache_dump.db”; 统计文件“ /var/named/data/named_stats.txt”; memstatistics文件“ /var/named/data/named_mem_stats.txt”;
//转发器声明
//转发器{
// 0.0.0.0;
// 1.1.1.1;
//};
//首先转发;
//我只允许查询陷入泥潭的ACL
允许查询 { mired; }; // 使用 dig 命令进行检查 desdelinux.fan axfr // 仅来自系统管理员工作站和本地主机 // 我们没有从属 DNS 服务器。我们不需要它......直到现在。
allow-transfer {localhost; 192.168.10.1; };
/ *-如果您要建立AUTHORITATIVE DNS服务器,请不要启用递归。 -如果要构建递归(缓存)DNS服务器,则需要启用递归。 -如果递归DNS服务器具有公共IP地址,则必须启用访问控制以将查询限制为合法用户。 否则,您的服务器将成为大规模DNS放大攻击的一部分。 在您的网络中实施BCP38将大大减少此类攻击面* /
//我们希望为局域网-SME提供一个AUTHORITY服务器
递归编号;
dnssec-enable是; dnssec-validation是; / * ISC DLV密钥的路径* / bindkeys文件“ /etc/named.iscdlv.key”; 受管密钥目录“ / var / named / dynamic”; pid文件“ /run/named/named.pid”; 会话密钥文件“ /run/named/session.key”; }; 记录{channel default_debug {文件“ data / named.run”; 严重程度动态}; }; 区域“。” IN {类型提示; 文件“ named.ca”; }; 包括“ /etc/named.rfc1912.zones”; 包括“ /etc/named.root.key”;
//我们包含用于动态DNS更新的TSIG密钥//通过DHCP
包括“ /etc/dhcp.key”;
//声明名称,类型,位置和更新权限
// DNS记录区域// //两个区域均为MASTERS
区”desdelinux。扇子” {
型主
文件“动态/db.desdelinux。扇子”;
allow-update {key dhcp-key; };
};
区域“ 10.168.192.in-addr.arpa” {
型主
文件“动态/ db.10.168.192.in-addr.arpa”;
allow-update {key dhcp-key; };
};
我们检查语法
[root @ dns〜]#named-checkconf [root @ dns〜]#
由于之前的命令没有返回任何结果,所以语法没有问题。但是,如果我们运行相同的命令,但使用-z选项,则输出结果将为:
[root @ dns〜]#named-checkconf -z 区域 localhost.localdomain/IN:已加载序列 0 区域 localhost/IN:已加载序列 0 区域 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN:加载串行 0 区域 1.0.0.127.in-addr.arpa/IN:加载串行 0 区域 0.in-addr.arpa/IN:加载串行 0 区域 desdelinux.fan/IN:从主文件dynamic/db加载。desdelinux.fan 失败:找不到文件区域 desdelinux.fan/IN:由于错误而未加载。 _默认/desdelinux.fan/IN:未找到文件区域 10.168.192.in-addr.arpa/IN:从主文件动态/db.10.168.192.in-addr.arpa 加载失败:未找到文件区域 10.168.192.in- addr.arpa/IN:由于错误而未加载。 _default/10.168.192.in-addr.arpa/IN:找不到文件
当然,它们是由于我们尚未为我们的域创建DNS记录区而发生的错误。
- 有关该命令的更多信息 命名-checkconf, 跑 男子叫-checkconf,然后再在Internet上查找任何其他信息。 我向您保证,它将节省大量时间。
我们创建直接区域文件 desdelinux。风扇
……但首先要有一点理论。
作为创建区域数据文件的模板,我们可以使用/var/named/named.empty或/usr/share/doc/bind-9.9.4/sample/var/named/named.empty。两者完全相同。
[root @ dns〜]#cat /var/named/named.empty $ TTL 3H @ IN SOA @ rname.invalid。 (0;串行1D;刷新1H;重试1W;到期3H); NS @ A 127.0.0.1 AAAA :: 1的最短或负缓存时间
生命周期- 生存时间TTL SOA记录
我们花点时间解释一下主区域的SOA(授权起始时间)记录的TTL(生存时间)。了解其含义对于修改其任何值都非常有用。
$TTL:生存时间 –文件中所有在声明之后(但在任何其他 $TTL 声明之前)且没有显式 TTL 声明的记录的生存时间。
序列号:区域数据的序列号。每次手动修改区域中的 DNS 记录时,都必须将此数字加 1,尤其是在使用从服务器或辅助服务器时。每次辅助或从属 DNS 服务器联系其主服务器时,都会查询主服务器数据的序列号。如果从服务器的序列号较小,则表示从服务器上该区域的数据已过期,从服务器会执行区域传输以更新数据。
refresh:告诉从服务器检查其数据是否相对于主服务器是最新的时间间隔。
重试:如果主服务器在刷新时间间隔后无法与从服务器通信(例如,由于服务器故障),则重试功能会告诉从服务器在再次尝试联系主服务器之前要等待多长时间。
过期:如果从服务器在指定的时间间隔内无法联系到其主服务器,则从主区域关系断开,从服务器只能将该区域过期。从 DNS 服务器使区域过期意味着它将停止响应与该区域相关的 DNS 查询,因为可用数据过旧而无法使用。
- 上面的内容间接地告诉我们,并且充满了常识(即常识中的最少常识),即如果我们不需要从DNS服务器来运行我们的SME,除非绝对必要,否则我们不会实施它。 让我们始终尝试从简单过渡到复杂.
最低要求:在BIND 8.2之前的版本中,最后一个SOA记录还会指示区域的默认生存时间 (Default TTL)和否定缓存生存时间(Negative Cache -Control TTL)。此时间指的是权威服务器针对该区域给出的所有否定响应。
区域文件 /var/named/dynamic/db.desdelinux。风扇
[root@dns ~]# nano /var/named/dynamic/db.desdelinux。风扇 $TTL 3H @ SOA dns。desdelinux。扇子。 root.dns。desdelinux。扇子。 (1;串行1D;刷新1H;重试1W;过期3H);最小值或;负缓存生存时间; @ 在 NS dns 中。desdelinux。扇子。 @IN MX 10 电子邮件。desdelinux。扇子。 @ IN TXT“FromLinux,您致力于自由软件的博客”; sysadmin 在 192.168.10.1 ad-dc 在 192.168.10.3 文件服务器 在 192.168.10.4 dns 在 192.168.10.5 proxyweb 在 192.168.10.6 博客 在 192.168.10.7 ftpserver 在 192.168.10.8. 192.168.10.9 邮件 IN A XNUMX
我们检查/var/named/dynamic/db。desdelinux。风扇
[root@dns ~]# 命名检查区 desdelinux.fan /var/named/dynamic/db。desdelinux。风扇 区 desdelinux.fan/IN:已加载串行 1 OK
我们创建反向区域文件10.168.192.in-addr.arpa
- 在不考虑MX记录的情况下,该区域的SOA记录与直接区域的记录相同。.
[root @ dns〜]#nano /var/named/dynamic/db.10.168.192.in-addr.arpa $TTL 3H @ SOA dns。desdelinux。扇子。 root.dns。desdelinux。扇子。 (1;串行1D;刷新1H;重试1W;过期3H);最小值或;负缓存生存时间; @ 在 NS dns 中。desdelinux。扇子。 ; 1 在 PTR 系统管理员中。desdelinux。扇子。 3 IN PTR ad-dc。desdelinux。扇子。 4 IN PTR 文件服务器。desdelinux。扇子。 5 在 PTR dns 中。desdelinux。扇子。 6 在 PTR proxyweb 中。desdelinux。扇子。 7 在 PTR 博客中。desdelinux。扇子。 8 IN PTR FTP 服务器。desdelinux。扇子。 9 PTR 邮件中。desdelinux。扇子。 [root @ dns〜]#named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 区域10.168.192.in-addr.arpa/IN:加载序列号1 OK
重新启动命名之前,我们检查其配置
- 除非我们确定未正确配置命名配置文件named.conf及其区域文件,否则建议不要重新启动命名守护程序。 如果执行此操作,然后再修改区域文件,则必须将修改后的区域的序列号增加1.
- 让我们看一下“。” 在域名和主机名的末尾.
[root @ dns〜]#named-checkconf [root @ dns〜]#named-checkconf -z 区域 localhost.localdomain/IN:已加载序列 0 区域 localhost/IN:已加载序列 0 区域 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN:加载串行 0 区域 1.0.0.127.in-addr.arpa/IN:加载串行 0 区域 0.in-addr.arpa/IN:加载串行 0 区域 desdelinux.fan/IN:已加载串行 1 区域 10.168.192.in-addr.arpa/IN:已加载串行 1
当前所有已命名的配置
为了清晰起见,虽然文章会变得很长,但我们提供命令named-checkconf -zp的完整输出:
[root @ dns〜]#named-checkconf -zp
区域 localhost.localdomain/IN:已加载序列 0 区域 localhost/IN:已加载序列 0 区域 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN:加载串行 0 区域 1.0.0.127.in-addr.arpa/IN:加载串行 0 区域 0.in-addr.arpa/IN:加载串行 0 区域 desdelinux.fan/IN:加载串行1区域10.168.192.in-addr.arpa/IN:加载串行1选项{bindkeys-file“/etc/named.iscdlv.key”;会话密钥文件“/run/named/session.key”;目录“/var/named”;转储文件“/var/named/data/cache_dump.db”;监听端口 53 { 127.0.0.1/32; 192.168.10.5/32; };监听 v6 端口 53 { ::1/128; };托管密钥目录“/var/named/dynamic”; memstatistics-文件“/var/named/data/named_mem_stats.txt”; pid-文件“/run/named/named.pid”;统计文件“/var/named/data/named_stats.txt”; dnssec 启用 是; dnssec 验证是;递归否;允许查询{“观看”; };允许传输{192.168.10.1/32; }; }; acl“观看”{127.0.0.0/8; 192.168.10.0/24; };日志记录{通道“default_debug”{文件“data/named.run”;动态严重性; }; };密钥“dhcp-key”{算法“hmac-md5”;秘密“OI7Vs+TO83L7ghUm2xNVKg==”; };区“.” IN { 类型提示;文件“named.ca”; };区域“localhost.localdomain”IN { 输入 master;文件“named.localhost”;允许更新{“无”; }; };区域“localhost”IN { 输入 master;文件“named.localhost”;允许更新{“无”; }; };区域 "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { 类型 master;文件“named.loopback”;允许更新{“无”; }; };区域“1.0.0.127.in-addr.arpa”IN { 类型 master;文件“named.loopback”;允许更新{“无”; }; };区域 "0.in-addr.arpa" IN { 类型 master;文件“named.empty”;允许更新{“无”; }; };区”desdelinux.fan" { 输入 master; 文件 "dynamic/db.desdelinux.fan";allow-update { key "dhcp-key"; }; }; 区域 "10.168.192.in-addr.arpa" { 输入 master; 文件 "dynamic/db.10.168.192.in-addr.arpa "; 允许更新 { key "dhcp-key"; }; }; 托管密钥 { "." 初始密钥 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g 0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGicGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrAmRLKBP6dfwhYB3N5 knNulq QxA +Uk2ihz8="; };
- 按照修改程序 命名.conf 根据我们的需求进行检查,并创建并检查每个区域文件,我们怀疑我们将不得不面对主要的配置问题。 最后,我们意识到这是一个男孩的游戏,具有许多概念和挑剔的语法。
检查结果令人满意,因此我们可以重新启动名为.
我们重新启动命名并检查其状态
[root @ dns〜]#systemctl重新启动named.service [root @ dns〜]#systemctl状态为named.service
如果最后一条命令的输出中出现任何错误,您应该重启named.service服务并再次检查其状态。如果错误消失,则表示服务已成功启动。否则,您应该仔细检查所有已修改和已创建的文件,并重复上述步骤。
状态的正确输出应为:
[root @ dns〜]#systemctl状态为named.service ●named.service-伯克利Internet名称域(DNS)已加载:已加载(/usr/lib/systemd/system/named.service;已启用;供应商预设:已禁用)活动: 活动(运行) 自美国东部时间 2017-01-29 周日 10:05:32 起; 2分钟57秒前进程:1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID(代码=退出,状态=0/成功)进程:1788 ExecStart=/usr/sbin/named -u命名$OPTIONS(代码=退出,状态=0/成功)进程:1786 ExecStartPre =/bin/bash -c 如果 [ ! “$DISABLE_ZONE_CHECKING”==“是”];然后 /usr/sbin/named-checkconf -z /etc/named.conf; else echo "区域文件检查已禁用"; fi (code=exited, status=0/SUCCESS) 主 PID: 1791 (named) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -unamed Jan 29 10:05:32 dnsnamed [1791]:区域 1.0.0.127.in-addr.arpa/IN:加载序列 Jan 0 29 10:05:32 dns 命名[1791]:区域 10.168.192.in-addr.arpa/IN:加载序列 Jan 1 29 10:05:32 dns 命名[1791]:区域 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN :已加载序列号 0 Jan 29 10:05:32 dns 命名为 [1791]:区域 desdelinux.fan/IN:已加载序列 Jan 1 29 10:05:32 dns 命名为[1791]:区域 localhost.localdomain/IN:已加载序列 Jan 0 29 10:05:32 dns 命名为[1791]:区域 localhost/IN:已加载序列号 0 Jan 29 10:05:32 dns 命名为 [1791]: 所有区域均已加载 29月10日05:32:1791 dns命名为[XNUMX]: 运行 29月10日05:32:1 dns systemd [29]:启动了伯克利互联网名称域名(DNS)。 10月05日32:1791:10.168.192名为[1]的dns:区域XNUMX.in-addr.arpa/IN:发送通知(序列XNUMX)
支票
可以在同一服务器上或在连接到LAN的计算机上运行检查。 我们更喜欢在团队中做 系统管理员。desdelinux。风扇 我们已明确允许进行区域转移。 文件 / etc / resolv.conf中 该团队的成员如下:
嗡嗡声@ sysadmin:〜$ cat /etc/resolv.conf # 由 NetworkManager 搜索生成 desdelinux.fan 域名服务器 192.168.10.5 嗡嗡声@sysadmin:~$挖 desdelinux.fan axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.风扇 axfr ;;全局选项:+cmd desdelinux。扇子。 10800 SOA 域名。desdelinux。扇子。 root.dns。desdelinux。扇子。 1 86400 3600 604800 10800 desdelinux。扇子。 10800 IN NS 域名。desdelinux。扇子。 desdelinux。扇子。 10800 IN MX 10 电子邮件。desdelinux。扇子。 desdelinux。扇子。 10800 IN TXT“FromLinux,您致力于自由软件的博客”ad-dc。desdelinux。扇子。 10800 在 192.168.10.3 博客中。desdelinux。扇子。 10800 IN 192.168.10.7 dns。desdelinux。扇子。 10800 进入 192.168.10.5 文件服务器。desdelinux。扇子。 10800 在 192.168.10.4 ftp 服务器中。desdelinux。扇子。 10800 在 192.168.10.8 邮件中。desdelinux。扇子。 10800 在 192.168.10.9 proxyweb 中。desdelinux。扇子。 10800 在 192.168.10.6 系统管理员中。desdelinux。扇子。 10800 转至 192.168.10.1 desdelinux。扇子。 10800 SOA 域名。desdelinux。扇子。 root.dns。desdelinux。扇子。 1 86400 3600 604800 10800;;查询时间:0毫秒;;服务器:192.168.10.5#53(192.168.10.5);;时间: 29 年 11 月 44 日星期日 18:2017:13 美国东部时间 ;; XFR 大小:1 条记录(消息 385,字节 XNUMX) 嗡嗡声@ sysadmin:〜$ dig 10.168.192.in-addr.arpa axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> 10.168.192.in-addr.arpa axfr ;;全局选项:+cmd 10.168.192.in-addr.arpa。 10800 SOA 域名。desdelinux.fan.10.168.192.in-addr.arpa。 root.dns。desdelinux.fan.10.168.192.in-addr.arpa。 1 86400 3600 604800 10800 10.168.192.in-addr.arpa。 10800 IN NS 域名。desdelinux。扇子。 1.10.168.192.in-addr.arpa。 10800 IN PTR 系统管理员。desdelinux。扇子。 3.10.168.192.in-addr.arpa。 10800 IN PTR ad-dc。desdelinux。扇子。 4.10.168.192.in-addr.arpa。 10800 IN PTR 文件服务器。desdelinux。扇子。 5.10.168.192.in-addr.arpa。 10800 IN PTR 域名。desdelinux。扇子。 6.10.168.192.in-addr.arpa。 10800 IN PTR 代理网络。desdelinux。扇子。 7.10.168.192.in-addr.arpa。 10800 IN PTR 博客。desdelinux。扇子。 8.10.168.192.in-addr.arpa。 10800 IN PTR FTP 服务器。desdelinux。扇子。 9.10.168.192.in-addr.arpa。 10800 IN PTR 邮件。desdelinux。扇子。 10.168.192.in-addr.arpa。 10800 SOA 域名。desdelinux.fan.10.168.192.in-addr.arpa。 root.dns。desdelinux.fan.10.168.192.in-addr.arpa。 1 86400 3600 604800 10800;;查询时间:0毫秒;;服务器:192.168.10.5#53(192.168.10.5);;时间:29 年美国东部时间 11 月 44 日星期日 57:2017:11 ;; XFR大小:1条记录(消息352,字节XNUMX) uzzi@sysadmin:~$ 深入研究 SOA desdelinux。风扇 uzzi@sysadmin:~$ 挖掘 MX desdelinux.fanuzz@sysadmin:~$ 挖 TXT desdelinux。风扇 嗡嗡声@ sysadmin:〜$主机dns dns。desdelinux.fan 的地址为 192.168.10.5 buzz @ sysadmin:〜$主机sysadmin 系统管理员。desdelinux.fan 的地址为 192.168.10.1 ...以及我们需要的任何其他检查
- 到目前为止,我们的中小企业网络上已经有了 DNS 服务器的基础。我们希望您喜欢整个过程,这非常简单,对吧?
我们安装并配置DHCP
[root @ dns〜]#百胜安装dhcp
加载的插件:最快的镜像,基于centos的langpack | 3.4 kB 00:00:00 centos-updates | 3.4 kB 00:00:00从缓存的主机文件加载镜像速度解决依赖关系->运行事务测试--->软件包dhcp.x86_64 12:4.2.5-42.el7.centos必须安装->解决依赖关系终止的已解决依赖关系============================================= =============================================== ==================================软件包体系结构版本存储库大小============= ================================================ ================================================ ======================安装:dhcp x86_64 12:4.2.5-42.el7.centos centos-base 511 k交易摘要==== =============================================== ================================================ ==============================安装1个软件包的总下载大小:511k安装的大小:1.4 M这可以吗[是/ d / N]:y下载软件包:dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00正在运行事务检查正在运行事务测试已成功进行事务测试正在运行事务正在安装:12:dhcp-4.2.5-42.el7.centos.x86_64 1/1检查:12:dhcp-4.2.5-42。 el7.centos.x86_64 1/1已安装:dhcp.x86_64 12:4.2.5-42.el7.centos完成!
[root @ dns〜]#nano /etc/dhcp/dhcpd.conf
# # DHCP 服务器配置文件。 # 参见 /usr/share/doc/dhcp*/dhcpd.conf.example # 参见 dhcpd.conf(5) 手册页 # ddns-update-style interim; ddns 更新; ddns-域名“desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; 忽略客户端更新;权威;选项 ip 转发关闭;选项域名 "desdelinux.fan"; # 选项 ntp 服务器 0.pool.ntp.org、1.pool.ntp.org、2.pool.ntp.org、3.pool.ntp.org;包括“/etc/dhcp.key” ; 区域 desdelinux。扇子。 { 主要 127.0.0.1;密钥 dhcp 密钥;区域 10.168.192.in-addr.arpa。 { 主要 127.0.0.1;密钥 dhcp 密钥; } 共享网络 redlocal { 子网 192.168.10.0 网络掩码 255.255.255.0 { 选项路由器 192.168.10.1;选项子网掩码 255.255.255.0;选项广播地址 192.168.10.255;选项域名服务器 192.168.10.5;选项 netbios-名称-服务器 192.168.10.5;范围 192.168.10.30 192.168.10.250; } } # 结束 dhcpd.conf
[root @ dns〜]#dhcpd -t
互联网系统联盟DHCP服务器4.2.5版权所有2004-2013互联网系统联盟。 版权所有。 有关信息,请访问https://www.isc.org/software/dhcp/由于在配置文件中未指定ldap-server,ldap-port和ldap-base-dn,因此不搜索LDAP
[root @ dns〜]#systemctl enable dhcpd
创建了从/etc/systemd/system/multi-user.target.wants/dhcpd.service到/usr/lib/systemd/system/dhcpd.service的符号链接。
[root @ dns〜]#systemctl启动dhcpd
[root @ dns〜]#systemctl status dhcpd
●dhcpd.service-DHCPv4服务器守护程序已加载:已加载(/usr/lib/systemd/system/dhcpd.service;已启用;供应商预设:已禁用)活动:活动(运行),自dom 2017-01-29 12:04:59它的T; 23s前Docs:man:dhcpd(8)man:dhcpd.conf(5)Main PID:2381(dhcpd)Status:“ Dispatching packet ...” CGroup:/system.slice/dhcpd.service└─2381/ usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf-用户dhcpd -group dhcpd --no-pid Jan 29 12:04:59 dns dhcpd [2381]:Internet Systems Consortium DHCP Server 4.2.5 Jan 29 12 :04:59 dns dhcpd [2381]:版权所有2004-2013 Internet Systems Consortium。 29月12日04:59:2381 dns dhcpd [29]:保留所有权利。 12月04日59:2381:29 dns dhcpd [12]:有关信息,请访问https://www.isc.org/software/dhcp/ 04月59日2381:29:12 dns dhcpd [04]:自ldap以来未搜索LDAP在配置文件Jan 59 2381:0:29 dns dhcpd [12]中未指定-server,ldap-port和ldap-base-dn:将04个租约写入租约文件。 59月2381日0:52:54 dns dhcpd [00]:侦听LPF / eth12 / 17:04:29:12:04:59 / redlocal 2381月0日52:54:00 dns dhcpd [12]:在LPF / eth17上发送/ 04:29:12:04:59:2381 / redlocal 29月12日04:59:1 dns dhcpd [4]:通过套接字发送/ fallback / fallback-net XNUMX月XNUMX日XNUMX:XNUMX:XNUMX dns systemd [XNUMX]:已启动DHCPvXNUMX服务器守护程序。
还有什么要做?
简单。 使用免费软件启动Windows 7或其他客户端,然后开始测试和检查。 我们做到了两个客户: 七。desdelinux。风扇 y suse-桌面。desdelinux。风扇。 检查如下:
buzz @ sysadmin:〜$主机七 七。desdelinux.fan 的地址为 192.168.10.30 uzzi@sysadmin:~$ 主机七。desdelinux。风扇 七。desdelinux.fan 的地址为 192.168.10.30 uzzi@sysadmin:~$ 挖掘 TXT 七。desdelinux。风扇 ....;;问题部分:;七。desdelinux。扇子。在 TXT 中;;答案部分:七。desdelinux。扇子。 3600 文本文本”31b7228ddd3a3b73be2fda9e09e601f3e9“...。
我们将团队“ XNUMX”重命名为“ LAGER”,然后重新启动。 重新启动新的LAGER之后,我们检查:
buzz @ sysadmin:〜$主机七 找不到主机七:5(已拒绝) uzzi@sysadmin:~$ 主机七。desdelinux。风扇 主持人七.desdelinux.fan 未找到:3(NXDOMAIN) 嗡嗡声@sysadmin:〜$主机更大 啤酒。desdelinux.fan 的地址为 192.168.10.30 嗡嗡声@sysadmin:~$主机啤酒。desdelinux。风扇 啤酒。desdelinux.fan 的地址为 192.168.10.30 uzzi@sysadmin:~$ 挖 TXT 啤酒。desdelinux。风扇 ....;;问题部分:;啤酒。desdelinux。扇子。在 TXT 中;;答案部分:啤酒。desdelinux。扇子。 3600 文本文本”31b7228ddd3a3b73be2fda9e09e601f3e9“...。
关于suse桌面客户端:
buzz @ sysadmin:〜$主机suse-dektop 找不到主机suse-dektop:5(已拒绝) buzz @ sysadmin:〜$主机suse-desktop suse-桌面。desdelinux.fan 的地址为 192.168.10.33 uzzi@sysadmin:~$ 主机 suse-desktop。desdelinux。风扇 suse-桌面。desdelinux.fan 的地址为 192.168.10.33 buzz @ sysadmin:〜$主机192.168.10.33 33.10.168.192.in-addr.arpa域名指针suse-desktop。desdelinux。扇子。 buzz @ sysadmin:〜$主机192.168.10.30 30.10.168.192.in-addr.arpa域名指针LAGER。desdelinux。扇子。
嗡嗡声@ sysadmin:〜$ dig -x 192.168.10.33 ....;;问题部分:;33.10.168.192.in-addr.arpa。在 PTR ;;答案部分:33.10.168.192.in-addr.arpa。 3600 IN PTR suse-桌面。desdelinux。扇子。 ;;权限部分:10.168.192.in-addr.arpa。 10800 IN NS 域名。desdelinux。扇子。 ;;附加部分:dns.desdelinux。扇子。 10800 至 192.168.10.5 .... uzzi@sysadmin:~$ 挖掘 TXT suse-desktop。desdelinux。扇子.... ;suse-桌面。desdelinux。扇子。在 TXT 中;;答案部分:suse-desktop。desdelinux。扇子。 3600 文本文本 "31b78d287769160c93e6dca472e9b46d73" ;; 授权部分: desdelinux。扇子。 10800 IN NS 域名。desdelinux。扇子。 ;;附加部分:dns.desdelinux。扇子。 10800 转至 192.168.10.5 ....
我们还要运行以下命令
[root@dns ~]# 挖 desdelinux.fan axfr ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.风扇 axfr ;;全局选项:+cmd desdelinux。扇子。 10800 SOA 域名。desdelinux。扇子。 root.dns。desdelinux。扇子。 6 86400 3600 604800 10800 desdelinux。扇子。 10800 IN NS 域名。desdelinux。扇子。 desdelinux。扇子。 10800 IN MX 10 电子邮件。desdelinux。扇子。 desdelinux。扇子。 10800 IN TXT“FromLinux,您致力于自由软件的博客”ad-dc。desdelinux。扇子。 10800 在 192.168.10.3 博客中。desdelinux。扇子。 10800 IN 192.168.10.7 dns。desdelinux。扇子。 10800 进入 192.168.10.5 文件服务器。desdelinux。扇子。 10800 在 192.168.10.4 ftp 服务器中。desdelinux。扇子。 10800 装在 192.168.10.8 啤酒中。desdelinux。扇子。 3600 文本文本”31b7228ddd3a3b73be2fda9e09e601f3e9“啤酒。desdelinux。扇子。 3600 在 192.168.10.30 电子邮件中。desdelinux。扇子。 10800 在 192.168.10.9 proxyweb 中。desdelinux。扇子。 10800 在 192.168.10.6 suse 桌面。desdelinux。扇子。 3600 文本文本”31b78d287769160c93e6dca472e9b46d73“ suse-桌面。desdelinux。扇子。 3600 在 192.168.10.33 系统管理员中。desdelinux。扇子。 10800 转至 192.168.10.1 desdelinux。扇子。 10800 SOA 域名。desdelinux。扇子。 root.dns。desdelinux。扇子。 6 86400 3600 604800 10800
在之前的输出中,我们用粗体突出显示了由 DHCP 服务分配 IP 地址的设备的TTL (以秒为单位),这些设备的TTL 值明确声明为 3600,由 DHCP 提供。静态 IP 地址的 TTL 值则由每个区域文件的 SOA 记录中声明的 3H(3 小时 = 10800 秒)决定。
他们可以用相同的方法检查反向区域。
[root @ dns〜]#挖10.168.192.in-addr.arpa axfr
其他非常有趣的命令是:
[root@dns ~]#named-journalprint /var/named/dynamic/db.desdelinux.fan.jnl [root @ dns〜]#named-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl [root @ dns〜]#journalctl -f
手动修改区域文件
在 DHCP 接管动态更新命名服务器的区域文件之后,如果我们需要手动修改区域文件,则必须执行以下步骤,但在此之前,我们需要更多地了解rndc实用程序是如何控制名称服务器的。
[root @ dns〜]#man rndc
....
冻结[区域[类别[视图]]]
将更新挂起到动态区域。 如果未指定任何区域,则所有区域都将被挂起。 这允许对通常通过动态更新更新的区域进行手动编辑。 它还会导致将日记文件中的更改同步到主文件中。 冻结区域时,将拒绝所有动态更新尝试。
解冻[区域[类[视图]]]
启用对冻结的动态区域的更新。 如果未指定区域,则启用所有冻结区域。 这将导致服务器从磁盘重新加载区域,并在加载完成后重新启用动态更新。 解冻区域后,将不再拒绝动态更新。 如果区域已更改,并且正在使用ixfr-from-differences选项,则将更新日志文件以反映区域中的更改。 否则,如果区域已更改,则将删除任何现有的日记文件。 ....
什么,你以为我会抄写整本手册吗?……只要抄一段,他们就开车去。剩下的就交给你了。
基本上是:
- rndc冻结[区域[类别[视图]]],暂停区域的动态更新。 如果未指定,则所有冻结。 该命令允许手动编辑冻结区域或所有区域。 冻结时将拒绝任何动态更新。
- rndc解冻 [区域[类[视图]]],可以在先前冻结的区域上进行动态更新。 DNS服务器从磁盘重新加载区域文件,并在重新加载完成后重新启用动态更新。
手动编辑区域文件时应注意哪些事项?与创建文件时一样,请记住在保存最终更改的文件之前,将序列号加 1。
例如:
[root @ dns〜]#rndc冻结 desdelinux。风扇
[root@dns ~]# nano /var/named/dynamic/db.desdelinux。风扇
我出于任何原因(无论是否必要)都修改了区域文件。 我保存更改
[root @ dns〜]#rndc解冻 desdelinux。风扇
区域重新加载并解冻。 检查日志以查看结果。
[root @ dns〜]#journalctl -f
29 月 14 日 06:46:2257 dns 命名为 [XNUMX]:解冻区域 'desdelinux.fan/IN':成功
29 月 14 日 06:46:2257 dns 命名为 [XNUMX]:区域 desdelinux.fan/IN:区域序列 (6) 不变。区域可能无法传输到从站。
29 月 14 日 06:46:2257 dns 命名为 [XNUMX]:区域 desdelinux.fan/IN:加载串行6
先前输出中的错误(在控制台上以红色显示)是由于我“忘记”将序列号加1。如果我正确地遵循了此过程,则输出应为:
[root @ dns〜]#journalctl -f -- 日志开始于美国东部时间 2017 年 01 月 29 日星期日 08:31:32。 -- 29 月 14 日 06:46:2257 dns 命名为 [XNUMX]:区域 desdelinux.fan/IN:已加载串行 Jan 6 29 14:10:01 dns systemd[1]:已启动用户 root 的会话 43。 Jan 29 14:10:01 dns systemd[1]:启动用户 root 的会话 43。 Jan 29 14:10:01 dns CROND[2693]: (root) CMD (/usr/lib64/sa/sa1 1 1) Jan 29 14:10:45 dns name[2257]: 收到控制通道命令“freeze” desdelinux.fan' Jan 29 14:10:45 dns 命名为[2257]:冻结区域 'desdelinux.fan/IN':成功 29 月 14 日 10:58:2257 dns 命名 [XNUMX]:收到控制通道命令 'thaw desdelinux.fan' Jan 29 14:10:58 dns 命名为[2257]:解冻区域 'desdelinux.fan/IN':成功 29 月 14 日 10:58:2257 dns 命名 [XNUMX]:区域 desdelinux.fan/IN:日志文件已过期:删除日志文件 29 月 14 日 10:58:2257 dns 命名 [XNUMX]:区域 desdelinux.fan/IN:加载串行7
- 读者朋友们,我重复一遍,您必须仔细阅读命令的输出。 对于它的开发人员,无论它多么简单,都要花大量的时间对每个命令进行编程.
总结
到目前为止,我们已经解决了DNS-DHCP对的实现问题,这是实现我们的SME网络良好性能的重要和关键服务,是指通过DHCP授予动态地址以及通过DNS解析计算机和域名。
我们非常希望您喜欢我们所做的整个过程。 尽管使用控制台看起来似乎比较困难,但是在UNIX®/ Linux的帮助下实现服务要容易得多,也更具教育意义。
请原谅我对用莎士比亚而非塞万提斯的语言思考、创造、撰写、修改、重写和出版的概念的任何误解。
下次发货
我认为更多相同的地方-在DNS记录上增加了理论上的内容-但在Debian中。 我们不能忘记这种分布,对吗?