域名系统 ( DNS )是用于将人类可读域名(或完全限定域名 ( FQDN ))转换为机器可读IP地址以在诸如因特网之类的网络中定位计算机的方法。
在计算机和网络系统中,这是必要的,因为尽管FQDN易于人类记忆和使用,但计算机(客户端)基于IP地址访问其他计算机(服务器)上的资源或服务。
在这方面, DNS服务器(也称为Nameservers)维护FQDN的目录并将它们转换为IP地址; 它还可以在提供主机名/ FQDN时返回IP地址。 有不同类型的DNS服务器,包括权威Nameservers,缓存Nameservers和许多其他服务器。
在本文中,我们将引导您完成使用BIND开源软件在RHEL 8上安装和配置私有/内部,权威DNS服务器的步骤。
要求:
我的测试环境:
Domain: howtoing.lanDNS Server IP and hostname: 192.168.56.100, dns-primary.howtoing.lanDNS Client IP and hostname: 192.168.56.104, howtoing.howtoing.lan
第1步:在RHEL 8上安装绑定DNS
1.要在服务器上安装bind及其实用程序,请运行以下c dnf命令 。
# dnf install bind bind-utils
2.接下来,立即启动DNS服务,然后使其在系统引导时自动启动,并使用systemctl命令检查它是否已启动并正在运行。
# systemctl start named# systemctl enable named# systemctl status named
第2步:在RHEL 8上配置BIND DNS
3.要配置绑定DNS服务器,首先需要使用以下cp命令备份原始配置文件/etc/named.conf 。
# cp /etc/named.conf /etc/named.conf.orig
4.现在打开/etc/named.conf配置文件,使用您喜欢的命令行文本编辑器进行编辑 ,如下所示。
# vi /etc/named.conf
在options
配置部分下,注释掉以下行。
options { #listen-on port 53 { 127.0.0.1; }; #listen-on-v6 port 53 { ::1; }; directory "/var/named";
5.接下来,查找allow-query
参数并将其值设置为您的网络,这意味着只有本地网络上的主机才能查询DNS服务器。
allow-query {localhost; 192.168.56.0/24}
第3步:创建正向和反向DNS区域
转发区是存储主机名 (或FQDN )到IP地址关系的地方; 它使用主机名返回一个IP地址。 请注意,正常的DNS查询是正向查询查询。 另一方面, 反向区域根据其IP地址返回主机的FQDN 。
6.要定义正向和反向区域,请在/etc/named.conf文件的末尾添加以下行。
//forward zone zone "howtoing.lan" IN { type master; file "howtoing.lan.db"; allow-update { none; }; allow-query {any; }}; //backward zone zone "56.168.192.in-addr.arpa" IN { type master; file "howtoing.lan.rev"; allow-update { none; }; allow-query { any; }};
让我们简要解释上述区域配置中的选项:
- type :定义此服务器对区域的角色。 值“ master ”表示它是一个权威服务器,其中维护了区域数据的主副本。
- file :指定区域的数据库文件。
- allow-update :指定允许为主区域提交动态DNS更新的主机。 在这种情况下没有。
第4步:创建转发DNS区域文件
7.首先,在/ var / named目录下创建Forward区域文件。
# vi /var/named/howtoing.lan.db
在其中添加以下配置。
$TTL 86400@ IN SOA dns-primary.howtoing.lan. admin.howtoing.lan. ( 2019061800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL);Name Server Information@ IN NS dns-primary.howtoing.lan.;IP for Name Serverdns-primary IN A 192.168.56.100;A Record for IP address to Hostname www IN A 192.168.56.5mail IN A 192.168.56.10docs IN A 192.168.56.20
让我们简要解释一下上面的区域定义和参数。
- TTL :指定RR的生存时间, $ TTL指令为没有特定TTL集的每个RR提供默认TTL 。
- @ :它是主配置文件中定义的域名(例如howtoing.lan )的别名。
- IN :表示互联网。
- SOA :指定授权开始 :权威Nameservers是谁( dns-primary.howtoing.lan ),管理员的联系信息( admin.howtoing.lan , @符号由句点替换)和其他相关信息。
- NS :表示Nameservers。
- Serial :DNS服务器使用此值来验证特定区域文件的内容是否是最新的。
- 刷新 :指定从DNS服务器应从主服务器执行区域传输的频率。
- 重试 :指定从站重试失败的区域传输的频率。
- 过期 :确定主服务器无法访问时,在应答客户端查询之前,从服务器应等待多长时间。
- 最小值 :设置区域的最小TTL。
- 答 :主机地址。
第5步:创建反向DNS区域文件
8.类似地,在/ var / named目录下创建一个Reverse区域文件。
# vi /var/named/howtoing.lan.rev
然后在其中添加以下行。 这里, PTR与用于将IP地址映射到主机名的A记录相反。
$TTL 86400@ IN SOA dns-primary.howtoing.lan. admin.howtoing.lan. ( 2019061800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL);Name Server Information@ IN NS dns-primary.howtoing.lan.;Reverse lookup for Name Server100 IN PTR dns-primary.howtoing.lan.;PTR Record IP address to HostName5 IN PTR www.howtoing.lan.10 IN PTR mail.howtoing.lan.20 IN PTR docs.howtoing.lan.
9.如下所示,在区域文件上设置正确的所有权。
# chown :named /var/named/howtoing.lan.db# chown :named /var/named/howtoing.lan.rev
10.最后,使用named-checkconf实用程序(无out表示没有错误),在进行上述更改后检查DNS配置和区域文件是否具有正确的语法:
# named-checkconf# named-checkzone howtoing.lan /var/named/howtoing.lan.db# named-checkzone 192.168.56.100 /var/named/howtoing.lan.rev
11.完成所有必要的配置后,需要重新启动DNS服务才能使最近的更改生效。
# systemctl restart named
12.接下来,在任何客户端可以访问服务器上的DNS服务配置之前,您需要在系统防火墙配置中添加DNS服务并使用firewall-cmd实用程序重新加载防火墙设置,如下所示:
# firewall-cmd --permanent --zone=public --add-service=dns # firewall-cmd --reload
第6步:从客户端测试DNS服务
13.在本节中,我们将展示如何从客户端测试DNS服务。 登录客户端计算机,将其配置为使用上述DNS服务器。 在Linux系统上,使用您喜欢的文本编辑器打开文件/etc/resolve.conf 。
# vi /etc/resolve.conf
在其中添加以下条目,告诉解析程序使用指定的Nameservers。
nameserver 192.168.56.100
保存文件并关闭它。 请注意,您还必须在网络接口配置文件中指定DNS服务器。
14.将DNS服务器IP 192.168.56.100作为解析程序添加到客户端计算机网络接口配置文件/ etc / sysconfig / network-scripts / ifcfg-enp0s3 ,如下图所示。
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s3UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2DEVICE=enp0s3ONBOOT=noDNS=192.168.56.100
15.然后使用nslookup实用程序使用主机名查询IP,反之亦然,如图所示,使用网络中的www , mail和docs服务器查询IP。
# nslookup 192.168.56.5# nslookup www.howtoing.lan# nslookup 192.168.56.10# nslookup mail.howtoing.lan# nslookup 192.168.56.20# nslookup docs.howtoing.lan# nslookup 192.168.56.100# nslookup dns-primary.howtoing.lan
摘要
在本文中,我们展示了如何使用BIND软件在RHEL 8上安装和配置专用的权威DNS服务器。 我们希望一切正常,但请通过下面的反馈表将您的疑问或任何其他意见发送给我们。