CentOS 7中的DNS和DHCP-SMB网络

系列总索引: 中小企业计算机网络:简介

你好朋友!。 在本文中,我们将看到如何为由网络组成的网络实现重要的服务对。 CentOS上的DNS和DHCP -Linux,特别是在7.2版中。

  • 有关DNS的一些文章提到了该服务的实现有点晦涩难懂的事实。 我不太同意那句话。 我宁愿说这有点概念性,并且它的许多配置文件都具有挑剔的语法。 幸运的是,我们有工具可以逐步检查我们修改的每个配置文件的语法。 因此,我们将尝试使本文变得尽可能愉快和愉快。.

对于同时寻求这两种服务基础知识的人员,我们强烈建议您从Wikipedia(西班牙语和英语)开始搜索。 同样,英语文章几乎总是更加完整和连贯。 维基百科仍然是一个很好的起点。

对于那些真的想了解DNS和BIND的人,我们建议您阅读本书«OReilly-DNS和BIND 4ed由...撰写 保罗·阿尔比兹 y 板球刘,或肯定存在的更高版本。

我们已经发表了有关该主题的文章«openSUSE 13.2 Harlequin中的DNS和DHCP-SME Networks»适合图形环境的爱好者。 但是,从现在开始,他们将面对与该主题有关的文章,而不是与之有关的其他文章,这些文章都是使用大量的终端机或控制台模拟器来编写的。 哇,这是UNIX®/ Linux系统管理员使用的经典样式。

如果您想进一步了解本文标题的姓氏«中小企业网络»您可以访问此博客中的页面«中小企业网络:第一个虚拟切入点«。 在其中,您可以找到许多其他已发表文章的链接。

  • 使用推荐的软件包完成CentOS 7操作系统的安装后, el目录 /usr/share/doc/bind-9.9.4/ 它包含大量文档,我们建议您在进入Internet搜索之前先咨询一下,而无需首先知道在您的指尖和家中就能找到所需的内容。

基本系统安装

域和DNS服务器的常规数据

域名:desdelinux.fan
DNS服务器名称:dns.fromlinux.fan
IP地址:192.168.10.5
子网掩码:255.255.255.0

安装

我们从全新或全新安装CentOS 7操作系统开始,如上一篇文章«CentOS 7 Hypervisor I-SMB网络«。 我们只需要进行以下更改:

  • imagen画质22 «软件选择«,我们建议您在左侧栏中选择«基础环境»对应于«的选项基础架构服务器«,而在右列中«所选环境的插件»选中复选框«DNS名称服务器«。 稍后我们将安装DHCP服务器。
  • 让我们记住其他存储库的声明,如 imagen画质23,在设置«之后网络和团队名称«。
  • 涉及我们将在硬盘驱动器上创建的分区的映像仅供参考。 可以根据自己的判断,实践和良好的判断随意选择分区。
  • 最后,在 图13«网络和团队名称»我们必须根据声明的域和DNS服务器的常规参数更改值,而不要忘记指定主机名-在这种情况下,«DNS«-网络配置完成后。 做是积极的 -从另一台主机-到网络活动后到指定的IP地址:

CentOS上的DNS和DHCP

相对于上一篇文章,实际上我们几乎不需要做出非常明显的更改。

初步检查和调整

安装操作系统后,我们至少必须检查以下文件,为此,我们从计算机通过SSH启动会话 sysadmin.fromlinux.fan:

嗡嗡声@ sysadmin:〜$ ssh 192.168.10.5
buzz@192.168.10.5的密码:上次登录:28年09月48日(星期六)05:2017:192.168.10.1来自XNUMX
[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从linux.fan名称服务器127.0.0.1搜索生成

主要配置响应我们的选择。 请注意,即使在服务器上 红帽7-CentOS 7,默认情况下是 网络管理员 因此,这是管理网络接口(有线或无线(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

红帽-CentOS还允许您使用经典命令连接和断开网络接口 ifup e 如果向下。 让我们在服务器控制台上运行:

[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建议的存储库中读取原始声明文件的内容是健康的。 我们在此处进行的更改归因于以下事实:我们无法访问Internet,并且我们使用了从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服务的实现上,这是其主要目标。

如果有任何读者在安装过程中选择了安全策略,请参见 imagen画质06 参考文章«CentOS 7 Hypervisor I-SMB网络»用于安装此DNS-DHCP服务器,并且您发现您不知道如何正确配置SELinux和CentOS防火墙,建议您运行以下命令:

修改文件 / etc / sysconfig / selinux 并改变 SELINUX =强制执行措施SELINUX =禁用

[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。

如果要实现面向Internet的DNS服务器,则不应执行上述操作,而应正确配置SELinux上下文和防火墙。 看到 “使用GNU / Linux进行服务器配置,作者Joel BarriosDueñas” 或CentOS文档本身-Red Hat

我们配置BIND-命名

  • El目录 /usr/share/doc/bind-9.9.4/ 包含大量文档,我们建议您在进入Internet搜索之前先咨询一下,而无需首先知道在您的指尖和家中就可以找到想要的东西

在许多发行版中,通过BIND软件包安装的DNS服务称为 命名 (名称守护程序)。 在CentOS 7中,根据以下命令的输出,默认情况下已禁用安装,其状态为«禁用«,并且该状态由其“卖方”预先定义- 供应商预设。 根据记录,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)。

启用服务后 命名 我们第一次启动它,命令的输出 systemctl状态命名 显示错误。 当我们重新启动以下服务时, 命名 创建默认情况下对其正确操作必需的所有配置文件。 因此,当我们再次执行命令时 systemctl状态命名 没有显示更多错误。

  • 亲爱的,昂贵且要求苛刻的读者:如果至少要找出导致兔子洞结束的方法,请冷静地阅读每个命令的详细输出。 😉当然,这篇文章看起来会有些长,但不要否认它获得了解释和清晰.

我们修改文件/etc/named.conf

许多读者的评论表达了-我不说-不同Linux发行版的维护者所具有的狂热,即根据发行版在不同名称的文件夹中定位系统配置文件。 他们是对的。 但是,使用这些分布的简单用户我们可以做什么呢? 适应! 😉

顺便说一下,在FreeBSD的UNIX®克隆«The Origin»中,文件位于 /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

使生活更轻松,而不是生成密钥 TSIG 对于通过DHCP进行的动态DNS更新,我们复制相同的密钥 rndc.keydhcp.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 from linux.fan axfr //从SysAdmin工作站和本地主机// //我们没有从属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.fan” {
 型主
 文件“ dynamic / db.fromlinux.fan”;
 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区域本地主机/ 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:从linux加载序列0区域.fan / IN:从主服务器加载动态文件/ db.fromlinux.fan失败:文件找不到区域fromlinux.fan/IN:由于错误而未加载。 _default / 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上查找任何其他信息。 我向您保证,它将节省大量时间。

我们从linux.fan创建Direct Zone文件

...并非没有一点理论。 😉

作为创建区域数据文件的模板,我们可以将 /var/named/named.empty,o el /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记录

让我们用括号来解释 TTL-生存时间 从寄存器 SOA-授权开始 主区域。 当我们想要修改它们的任何值时,了解它们的含义很有趣。

$ TTL:生存时间- 生存时间 对于文件中声明之后(但在任何其他$ TTL声明之前)且没有显式TTL声明的所有记录。

串行:区域数据的序列号。 每次我们手动修改区域中的DNS记录时,都必须将该数字增加1,特别是如果我们有从属服务器或辅助服务器。 辅助或从属DNS服务器每次联系其主服务器时,都会要求提供主数据的序列号。 如果从属服务器的序列号较低,则该从属服务器上该区域的数据已过期,并且从属服务器执行区域传输以更新自身。

刷新:它告诉从属服务器一个时间间隔,在该时间间隔内应该检查其数据是否相对于主服务器是最新的。

重试:如果主服务器不可用(因为生病了,比方说),则在一定时间间隔后对从服务器不可用 刷新, 重试 它告诉从站尝试再次联系其主站之前要等待多长时间。

到期:如果从属设备在一段时间内无法联系其主设备 到期,那么如果从属服务器与主服务器的区域关系搞砸了,而从服务器则别无选择,只能使该区域失效。 从属DNS服务器使区域到期,这意味着它将停止响应与该区域有关的DNS查询,因为可用数据太旧而无用。

  • 上面的内容间接地告诉我们,并且充满了常识(即常识中的最少常识),即如果我们不需要从DNS服务器来运行我们的SME,除非绝对必要,否则我们不会实施它。 让我们始终尝试从简单过渡到复杂.

最小:在之前的版本中 绑定8.2,最后一条记录 SOA的 它还指示默认生存时间- 默认的生存时间, 和负缓存生存期- 负缓存生存时间 用于区域。 这次是指该区域的权威服务器给出的所有否定响应。

区域文件/var/named/dynamic/db.fromlinux.fan

[root @ dns〜]#nano /var/named/dynamic/db.fromlinux.fan
$ TTL 3H @ IN SOA dns.fromlinux.fan。 root.dns.fromlinux.fan。 (1;序列1D;刷新1H;重试1W;到期3H); 最小或负的生存时间; @ IN NS dns.fromlinux.fan。 @ IN MX 10 mail.fromlinux.fan。 @ IN TXT“ FromLinux,您的致力于自由软件的博客”; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3文件服务器IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb IN A 192.168.10.6博客IN A 192.168.10.7 ftpserver IN A 192.168.10.8邮件IN A 192.168.10.9

我们检查/var/named/dynamic/db.fromlinux.fan

[root @ dns〜]#来自linux.fan / var / named / dynamic / db的named-checkzone。
linux.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 @ IN SOA dns.fromlinux.fan。 root.dns.fromlinux.fan。 (1;序列1D;刷新1H;重试1W;到期3H); 最小或负的生存时间; @ IN NS dns.fromlinux.fan。 ; 1输入PTR sysadmin.fromlinux.fan。 3 IN PTR ad-dc.fromlinux.fan。 4 IN PTR fileserver.fromlinux.fan。 5 IN PTR dns.fromlinux.fan。 6 IN PTR proxyweb.desdelinux.fan。 7 IN PTR blog.desdelinux.fan。 8输入PTR ftpserver.fromlinux.fan。 9 IN PTR mail.fromlinux.fan。

[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区域本地主机/ 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:加载linux中的序列0区域.fan / IN:加载序列1区域10.168.192.in-addr.arpa/IN:加载序列号1

当前所有已命名的配置

为了使内容更加清晰,尽管文章很长,但我们给出了命令的完整输出 命名-checkconf -zp:

[root @ dns〜]#named-checkconf -zp
区域localhost.localdomain / IN:加载序列号0区域本地主机/ 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:加载linux中的序列0区域.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-enable是; dnssec-validation是; 递归编号; allow-query {“ mired”; }; 允许转移{192.168.10.1/32; }; }; acl“ mired” {127.0.0.0/8; 192.168.10.0/24; }; 记录{channel“ default_debug” {文件“ data / named.run”; 严重程度动态}; }; 密钥“ dhcp-key” {算法“ hmac-md5”; 秘密“ OI7Vs + TO83L7ghUm2xNVKg ==”; }; 区域“。” IN {类型提示; 文件“ named.ca”; }; 区域“ localhost.localdomain” IN {类型主控; 文件“ named.localhost”; allow-update {“ none”; }; }; 区域“ localhost” IN {类型主; 文件“ named.localhost”; allow-update {“无”; }; }; 区域“ 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 {type master; 文件“ named.loopback”; allow-update {“无”; }; }; 区域“ 1.0.0.127.in-addr.arpa” IN {类型主控; 文件“ named.loopback”; allow-update {“无”; }; }; 区域“ 0.in-addr.arpa” IN {类型主控; 文件“ named.empty”; allow-update {“无”; }; }; 区域“ desdelinux.fan” {type master; 文件“ dynamic / db.fromlinux.fan”; allow-update {key“ dhcp-key”; }; }; 区域“ 10.168.192.in-addr.arpa” {type master; 文件“动态/ db.10.168.192.in-addr.arpa”; allow-update {key“ dhcp-key”; }; }; 受管密钥{“。 键初始-257 3月8日 “AwEAAagAIKlVZrpC6Ia7gEzahOR + 9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh / RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP / VHL496M / QZxkjf5 / Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu + ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QXA + Uk1ihz0 =”; };
  • 按照修改程序 命名.conf 根据我们的需求进行检查,并创建并检查每个区域文件,我们怀疑我们将不得不面对主要的配置问题。 最后,我们意识到这是一个男孩的游戏,具有许多概念和挑剔的语法

检查结果令人满意,因此我们可以重新启动BIND- 命名.

我们重新启动命名并检查其状态

[root @ dns〜]#systemctl重新启动named.service
[root @ dns〜]#systemctl状态为named.service

如果在最后一个命令的输出中出现任何类型的错误,则必须重新启动 命名服务 并重新检查您的 状态。 如果错误消失,则服务成功启动。 否则,我们必须仔细检查所有修改和创建的文件,然后重复该过程。

状态的正确输出应为:

[root @ dns〜]#systemctl状态为named.service
●named.service-伯克利Internet名称域(DNS)已加载:已加载(/usr/lib/systemd/system/named.service;已启用;供应商预设:已禁用)活动: 活动(运行) 自星期日2017年01月29日10:05:32 EST; 2min 57s ago进程:1777 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2>&1 || / bin / kill -TERM $ MAINPID(代码=退出,状态= 0 /成功)进程:1788 ExecStart = / usr / sbin /名为-u名为$ OPTIONS(代码=退出,状态= 0 / SUCCESS)进程:1786 ExecStartPre = / bin / bash -c如果[! “” $ DISABLE_ZONE_CHECKING“ ==”是“]] 然后/ usr / sbin / named-checkconf -z /etc/named.conf; 否则回显“禁用区域文件检查”; fi(代码=已退出,状态= 0 /成功)主PID:1791(已命名)CGroup:/system.slice/named.service└─1791/ usr / sbin /已命名-u已命名29月10日05:32:1791 dns已命名[1.0.0.127]:区域0.in-addr.arpa/IN:加载的串行29 Jan 10 05:32:1791 dns名为[10.168.192]:区域1.in-addr.arpa/IN:加载的序列29 Jan 10个05:32: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]的dns:区域6.ip0.arpa/IN :加载序列29 Jan 10 05:32:1791 dns命名为[1]:区域desdelinux.fan/IN:加载序列29 Jan 10 05:32 dns命名为[1791]:区域localhost.localdomain / IN:加载序列0 29月10日05:32:1791名为[0]的dns:区域localhost / IN:加载了串行29 Jan 10 05:32:1791 dns名为[XNUMX]: 所有区域均已加载
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的计算机上运行检查。 我们更喜欢在团队中做 sysadmin.fromlinux.fan 我们已明确允许进行区域转移。 文件 / etc / resolv.conf中 该团队的成员如下:

嗡嗡声@ sysadmin:〜$ cat /etc/resolv.conf 
#由NetworkManager从linux.fan名称服务器192.168.10.5搜索生成

嗡嗡声@ sysadmin:〜$从linux.fan axfr挖
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; 全局选项:linux.fan中的+ cmd。 10800 IN SOA dns.fromlinux.fan。 root.dns.fromlinux.fan。 来自linux.fan的1 86400 3600 604800 10800 10800 IN NS dns.fromlinux.fan。 来自linux.fan。 10800 IN MX 10 mail.fromlinux.fan。 来自linux.fan。 10800 IN TXT“ FromLinux,您的专属自由软件博客” ad-dc.desdelinux.fan。 10800在192.168.10.3 blog.desdelinux.fan中。 10800 IN 192.168.10.7 dns.fromlinux.fan。 10800 IN 192.168.10.5 fileserver.fromlinux.fan。 10800 IN 192.168.10.4 ftpserver.fromlinux.fan。 10800 IN 192.168.10.8 mail.fromlinux.fan。 10800 IN 192.168.10.9 proxyweb.fromlinux.fan。 10800 IN 192.168.10.6 sysadmin.fromlinux.fan。 10800 IN从linux.fan到192.168.10.1。 10800 IN SOA dns.fromlinux.fan。 root.dns.fromlinux.fan。 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 IN SOA dns.fromlinux.fan.10.168.192.in-addr.arpa。 root.dns.fromlinux.fan.10.168.192.in-addr.arpa。 1 86400 3600 604800 10800 10.168.192.in-addr.arpa。 10800 IN NS dns.fromlinux.fan。 1.10.168.192.in-addr.arpa。 10800 IN PTR sysadmin.fromlinux.fan。 3.10.168.192.in-addr.arpa。 10800 IN PTR ad-dc.fromlinux.fan。 4.10.168.192.in-addr.arpa。 10800 IN PTR fileserver.fromlinux.fan。 5.10.168.192.in-addr.arpa。 10800 IN PTR dns.fromlinux.fan。 6.10.168.192.in-addr.arpa。 10800 IN PTR proxyweb.fromlinux.fan。 在addr.arpa中的7.10.168.192。 10800 IN PTR blog.desdelinux.fan。 8.10.168.192.in-addr.arpa。 10800 IN PTR ftpserver.fromlinux.fan。 9.10.168.192.in-addr.arpa。 10800 IN PTR mail.fromlinux.fan。 地址为10.168.192.in.addr.arpa。 10800 IN SOA dns.fromlinux.fan.10.168.192.in-addr.arpa。 root.dns.fromlinux.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日,星期日,美国东部时间; XFR大小:57条记录(消息2017,字节11)

嗡嗡声@ sysadmin:〜$从linux.fan中挖掘SOA
buzz @ sysadmin:〜$从linux.fan挖入MX buzz @ sysadmin:〜$从linux.fan挖入MXT
嗡嗡声@ sysadmin:〜$主机dns
dns.fromlinux.fan的地址为192.168.10.5
buzz @ sysadmin:〜$主机sysadmin
sysadmin.desdelinux.fan的地址为192.168.10.1 ...以及我们需要的任何其他检查
  • 到目前为止,我们已经在SME网络中建立了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过渡; ddns-更新; ddns域名“ desdelinux.fan”。 ddns-rev域名“ 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”; linux.fan中的区域。 {primary 127.0.0.1; 密钥dhcp-key; }区域10.168.192.in-addr.arpa。 {primary 127.0.0.1; 密钥dhcp-key; }共享网络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-name-servers 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或其他客户端,然后开始测试和检查。 我们做到了两个客户: 七.fromlinux.fan y suse-desktop.fromlinux.fan。 检查如下:

buzz @ sysadmin:〜$主机七
七.fromlinux.fan地址为192.168.10.30

buzz @ sysadmin:〜$主机seven.fromlinux.fan
七.fromlinux.fan地址为192.168.10.30

嗡嗡声@ sysadmin:〜$挖TXT seven.fromlinux.fan
.... ;; 问题部分:; seven.fromlinux.fan。 IN TXT ;; 解答:七.fromlinux.fan。 3600 IN TXT“31b7228ddd3a3b73be2fda9e09e601f3e9“...。

我们将团队“ XNUMX”重命名为“ LAGER”,然后重新启动。 重新启动新的LAGER之后,我们检查:

buzz @ sysadmin:〜$主机七
找不到主机七:5(已拒绝)

buzz @ sysadmin:〜$主机seven.fromlinux.fan
找不到主机seven.desdelinux.fan:3(NXDOMAIN)

嗡嗡声@sysadmin:〜$主机更大
lager.desdelinux.fan地址为192.168.10.30

嗡嗡声@sysadmin:〜$主机lager.fromlinux.fan
lager.desdelinux.fan地址为192.168.10.30

嗡嗡声@ sysadmin:〜$挖TXT lager.fromlinux.fan
.... ;; 问题部分:; lager.fromlinux.fan。 IN TXT ;; 解答:lager.fromlinux.fan。 3600 IN TXT“31b7228ddd3a3b73be2fda9e09e601f3e9“...。

关于suse桌面客户端:

buzz @ sysadmin:〜$主机suse-dektop
找不到主机suse-dektop:5(已拒绝)

buzz @ sysadmin:〜$主机suse-desktop
suse-desktop.desdelinux.fan地址为192.168.10.33

buzz @ sysadmin:〜$主机suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan地址为192.168.10.33

buzz @ sysadmin:〜$主机192.168.10.33
33.10.168.192.in-addr.arpa域名指针suse-desktop.desdelinux.fan。

buzz @ sysadmin:〜$主机192.168.10.30
30.10.168.192.in-addr.arpa域名指针LAGER.desdelinux.fan。
嗡嗡声@ sysadmin:〜$ dig -x 192.168.10.33
.... ;; 问题部分:; 33.10.168.192.in-addr.arpa。 IN PTR ;; 解答:33.10.168.192.in-addr.arpa。 3600 IN PTR suse-desktop.fromlinux.fan。 ;; 权限部分:10.168.192.in-addr.arpa。 10800 IN NS dns.fromlinux.fan。 ;; 其他部分:dns.fromlinux.fan。 10800 IN A 192.168.10.5 ....

嗡嗡声@ sysadmin:〜$挖TXT suse-desktop.fromlinux.fan ....
; suse-desktop.desdelinux.fan。 IN TXT ;; 解答部分:suse-desktop.desdelinux.fan。 3600英寸TXT "31b78d287769160c93e6dca472e9b46d73"

;; 权限部分:desdelinux.fan。 10800 IN NS dns.fromlinux.fan。 ;; 其他部分:dns.fromlinux.fan。 10800英寸192.168.10.5
....

我们还要运行以下命令

[root @ dns〜]#从linux.fan axfr挖
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; 全局选项:linux.fan中的+ cmd。 10800 IN SOA dns.fromlinux.fan。 root.dns.fromlinux.fan。 linux.fan的6 86400 3600 604800 10800 10800 IN NS dns.fromlinux.fan。 来自linux.fan。 10800 IN MX 10 mail.fromlinux.fan。 来自linux.fan。 10800 IN TXT“ FromLinux,您的专属自由软件博客” ad-dc.desdelinux.fan。 10800在192.168.10.3 blog.desdelinux.fan中。 10800 IN 192.168.10.7 dns.fromlinux.fan。 10800 IN 192.168.10.5文件服务器.fromlinux.fan。 10800 IN 192.168.10.4 ftpserver.fromlinux.fan。 10800在192.168.10.8 LAGER.fromlinux.fan中。 3600 IN TXT“31b7228ddd3a3b73be2fda9e09e601f3e9“ LAGER.fromlinux.fan。   3600 在192.168.10.30 mail.fromlinux.fan中。 10800 IN 192.168.10.9 proxyweb.fromlinux.fan。 10800 IN 192.168.10.6 suse-desktop.fromlinux.fan。 3600 IN TXT“31b78d287769160c93e6dca472e9b46d73“ suse-desktop.desdelinux.fan。 3600 在192.168.10.33 sysadmin.fromlinux.fan中。 10800 IN从linux.fan到192.168.10.1。 10800 IN SOA dns.fromlinux.fan。 root.dns.fromlinux.fan。 6 86400 3600 604800 10800

在上面的输出中,我们突出显示了 黑人TTL -以秒为单位-对于具有DHCP服务授予的IP地址的计算机,那些具有由DHCP给出的TTL 3600的显式声明的计算机。 固定IP由每个区域文件的SOA记录中声明的$ 3H -3小时= 10800秒的$ TTL指导。

他们可以用相同的方法检查反向区域。

[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起作用后,将动态更新区域文件 命名如果我们需要手动修改区域文件,则必须执行以下过程,但在不了解该实用程序操作之前,请执行以下过程 直流 用于名称服务器控制。

[root @ dns〜]#man rndc
....
       冻结[区域[类别[视图]]]
           将更新挂起到动态区域。 如果未指定任何区域,则所有区域都将被挂起。 这允许对通常通过动态更新更新的区域进行手动编辑。 它还会导致将日记文件中的更改同步到主文件中。 冻结区域时,将拒绝所有动态更新尝试。

       解冻[区域[类[视图]]]
           启用对冻结的动态区域的更新。 如果未指定区域,则启用所有冻结区域。 这将导致服务器从磁盘重新加载区域,并在加载完成后重新启用动态更新。 解冻区域后,将不再拒绝动态更新。 如果区域已更改,并且正在使用ixfr-from-differences选项,则将更新日志文件以反映区域中的更改。 否则,如果区域已更改,则将删除任何现有的日记文件。 ....

什么,您认为我要抄录整个手册吗? 剩下的我留给你。 😉

基本上是:

  • rndc冻结[区域[类别[视图]]],暂停区域的动态更新。 如果未指定,则所有冻结。 该命令允许手动编辑冻结区域或所有区域。 冻结时将拒绝任何动态更新。
  • rndc解冻 [区域[类[视图]]],可以在先前冻结的区域上进行动态更新。 DNS服务器从磁盘重新加载区域文件,并在重新加载完成后重新启用动态更新。

手动编辑区域文件时要注意什么? 就像我们创建它一样,但不要忘记将序列号增加1或 串行 保存带有最终更改的文件之前。

例如:

[root @ dns〜]#rndc从linux.fan冻结

[root @ dns〜]#nano /var/named/dynamic/db.fromlinux.fan
我出于任何原因(无论是否必要)都修改了区域文件。 我保存更改

[root @ dns〜]#rndc从linux.fan解冻
区域重新加载并解冻。 检查日志以查看结果。

[root @ dns〜]#journalctl -f
29月14日06:46:2257名为[XNUMX]的dns:解冻区域'desdelinux.fan/IN':成功
29月14日06:46:2257名为[6]的dns来自linux.fan/IN:区域序列(XNUMX)不变。 区域可能无法转移到奴隶。
29月14日06:46:2257名为[6]的dns:区域desdelinux.fan/IN:已加载序列XNUMX

先前输出中的错误(在控制台上以红色显示)是由于我“忘记”将序列号加1。如果我正确地遵循了此过程,则输出应为:

[root @ dns〜]#journalctl -f
-日志开始于美国东部时间2017年01月29日08:31:32。 -29月14日06:46:2257名为[6]的dns:区域desdelinux.fan/IN:已加载串行29 Jan 14 10:01:1 dns systemd [43]:已启动用户root的会话29。 14月10日01:1:43 dns systemd [29]:启动用户root的会话14。 10月01日2693:64:1 dns CROND [1]:(root)CMD(/ usr / lib1 / sa / sa29 14 10)45月2257日29:14:10 dns命名为[45]:从Linux接收到控制通道命令'freeze。 fan'Jan 2257 29:14:10 dns命名为[58]:冻结区域'desdelinux.fan/IN':成功Jan 2257月29 14:10:58 dns命名为[2257]:接收到控制通道命令'解冻desdelinux.fan'Jan 29个14:10:58名为[2257]的dns:解冻区域'desdelinux.fan/IN':成功29月14 10:58:2257名为[7]的dns:区域desdelinux.fan/IN:日志文件已过期:删除日记文件XNUMX月XNUMX日XNUMX:XNUMX:XNUMX名为[XNUMX]的dns:区域desdelinux.fan/IN:已加载串行XNUMX
  • 读者朋友们,我重复一遍,您必须仔细阅读命令的输出。 对于它的开发人员,无论它多么简单,都要花大量的时间对每个命令进行编程.

总结

到目前为止,我们已经解决了DNS-DHCP对的实现问题,这是实现我们的SME网络良好性能的重要和关键服务,是指通过DHCP授予动态地址以及通过DNS解析计算机和域名。

我们非常希望您喜欢我们所做的整个过程。 尽管使用控制台看起来似乎比较困难,但是在UNIX®/ Linux的帮助下实现服务要容易得多,也更具教育意义。

他们原谅我以莎士比亚而非塞万提斯的语言对思想,创造,写作,修改,重写和出版的概念的任何误解。 😉

下次发货

我认为更多相同的地方-在DNS记录上增加了理论上的内容-但在Debian中。 我们不能忘记这种分布,对吗?


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

15条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   克里斯蒂安·默尚(Cristian Merchan)

    非常感谢您为撰写如此丰硕的文章所做的值得称赞的工作。 这将很有用

  2.   费德里科

    克里斯蒂安(Cristian)非常感谢您关注我以及您对本文的评价。 成功!

  3.   伊斯梅尔·阿尔瓦雷斯·黄

    在对Federico的这一新职位进行了初步了解之后,整个«PYMES»系列所表现出的卓越专业精神再次引人注目; 除了可以说明您的域在任何网络中最重要的两项服务(DNS和DHCP)上的详细信息之外。 在这种情况下,与我之前的评论不同,我将第二篇评论付诸实践后将其发表。

  4.   Crespo88

    没有评论,pa'400 !!! Fico谢谢您,因为您非常了解我阅读了您的帖子,我们不能要求更多。 您从一个很好的组织开始,从如何安装和设置用户的个人桌面开始,工作站是基础,您很好地解释了那些网络服务的意义。 您一直在攀登,尽管水平确实在上升,但确实为那些比刚开始的人少,对于像我一样一段时间和最高级的人写过书并发表过。 。
    随着时间的流逝,我得出了一个结论,即我知道许多人已经到达了这一理论,因为不想读这个简单的事实,花费了我们如此多的钱,因为当我们知道自己在做什么时执行起来已经容易得多,为什么? ???的问题,在哪里可以找到,如何获得提供这么多头疼的时候,我们甚至不知道哪里来的,值得冗余错误了。
    出于这个原因,我不希望您遗漏您宣布的下一个出版物中将包含的有关DNS记录的理论元素,更不用说亲爱的DEBIAN了。
    非常感谢,我们在等待。

  5.   猎人

    一如既往的出色Fico! 我等待着Debian版本,多年来我一直在使用该发行版进行所有操作。

  6.   费德里科

    黄:您阅读后的观点非常有价值。 当您测试内容时,我在等待您的评论,因为我知道您喜欢这样做。 😉

  7.   费德里科

    Crespo:和往常一样,您的评论很受好评。 我看到您已经掌握了本系列文章中提出的基本思路。 我希望像您一样,许多人已经注意到。 谢谢你的评论。

  8.   费德里科

    Dhunter:很高兴再次认识您! 您无需等待很长时间。 最迟在星期一(或之前)出版。 不要以为我轻松涵盖三个发行版,可敬的读者会要求它。 不仅是Debian和Ubuntu,而且面向中小企业的三个。

  9.   Crespo88

    如果您已经发表,那是因为您可以,我们会为您提供支持,并且我们知道您会遵循这一原则。
    作为一名猎人,我期盼着锐利的Debian版本。 如果您稍微了解一下NTP,那就太好了。 Sl2和一个大大的拥抱。 如果我的老师教过我像那样的一切,HAHAJJA,白金学位,HAHAJJA。

  10.   费德里科

    为了显示其重要性,命令输出中的详细程度是必需的。 他们说了很多。 的确,很少有文章谈到这种详细程度,因为他们认为它们是冗长而沉重的文章。 嗯,SysAdmin的工作之一就是阅读那些繁重而详细的输出,不仅是面对问题,而且还要面对检查。

  11.   伊斯梅尔·阿尔瓦雷斯·黄

    我以前曾答应过的你好费德里科,在仔细研究了有关帖子后写了一些评论; 好吧,他们接下来继续:
    -出色的技术,而不是通过DHCP生成用于动态DNS更新的TSIG密钥,复制了与dhcp.key相同的rndc.key密钥,这显然“很简单”,表明该目标不仅是HOWTO-INSTALL-DNS的技术- &-DHCP,但教会我们思考,为作者提供5星。
    -在名为.conf的DNS配置文件中,非常有趣的是行«allow-transfer {localhost; 192.168.10.1; };» 仅从SysAdmin工作站和本地主机(DNS服务器本身)测试域«desdelinux.fan»,并插入TSIG密钥以从DHCP更新DNS。
    -除了执行命令“#named-checkconf -zp”以检查DNS的所有语法外,还非常好地创建了DNS的正向和反向区域,以及对记录类型的“详细”说明。在硬重置之前被命名,以及运行“ dig”命令以验证不同类型的DNS记录的示例。
    。 在DHCP配置中(使用/etc/dhcp/dhcpd.conf文件):
    -如何添加我们的局域网及其动态IP地址分配范围,名称服务器的定义等; 以及如何通过在配置中使用“ ddns- ...”行告诉DHCP更新DNS记录。
    。 当所有内容都可以使用时,在执行“#dig desdelinux.fan axfr”命令时,作者将获得5颗星,以检查LAN上具有静态IP的计算机的TTL,以及已分配动态IP的计算机的TTL。
    。 最后,GREAT,手动修改区域文件,方法是先使用“#rndc Frozen desdelinux.fan”将其冻结,然后进行修改,最后使用“#rndc thaw desdelinux.fan”将其解冻。
    。 而最好的,一切都做到了。
    继续保持下去。

    1.    喜悦

      你好,
      Ik kom net kijken,od omdat ik probeer te achterhalen hoe het kan dat alles gedeeld en verwijderd wordt op mijn computer zelfs mijn foto's。 Ik heb totalal geen控制着Mobiel上的miin本征计算机。
      dhcp中的het dns中的het zit m dus ook。 我要努力,要保护自己。 Misschien dat iemand mij wilt helpen? 它的名称是geinstalleerd。 Walgelijk gedrag vind ik het。

  12.   费德里科

    黄:您的评论是对本文的补充。 认真地,它表明您已经深入研究了它。 否则,您将无法评论您所做的详细程度。 只需添加 允许转移 它主要用于拥有DNS从站,并允许将区域从主站传输到它的情况。 我之所以使用它,是因为它是一种易于实现的机制,可以从单台计算机进行无危险的检查。 非常感谢您对5.的评价。 在下一篇文章中,我将继续等待您。

  13.   伊格纳西奥

    你好费德里科。 我知道我来晚了,但是我想问你一个问题。
    如果要将域指向我的vps服务器,此过程对我有帮助吗?

    每隔15分钟,我会收到以下系统消息:

    eth0上的DHCPREQUEST到端口67(xid =…)
    来自(xid = ...)的DHCPACK
    必定-在970秒内续约。

    根据我的理解,我应该使用我的域和专用服务器的IP创建一个A记录。

    *我祝贺并感谢您的这篇文章,我不知道这是否是我要找的内容,但我发现它非常有趣并且得到了很好的解释。 另外,我接受了我一直在闲聊的“ DNS和BIND”的建议,这似乎非常有趣。

    来自阿根廷的问候!

    1.    安东尼奥·瓦尔德斯·图加格

      请通过以下方式与我联系 valdesoujague@yandex.com