CentOS 5.5 DNS 配置指南
一、安装 DNS 软件包
1、使用 YUM 安装:
执行命令yum install bind* cachingnameserver
,YUM 会自动从仓库中查找并安装相关的 Bind 软件包以及缓存名称服务器软件。
2、使用光盘 RPM 包安装(如果系统未连接网络或需要特定版本):
先挂载光盘,例如创建挂载点mkdir /mnt/cdrom
,然后执行mount t iso9660 /dev/cdrom /mnt/cdrom
。
进入光盘中的 Server 目录,通过rpm qa
查看可用的 BIND 软件包,再使用rpm ivh
命令安装所需的软件包,如cachingchroot
、bindlibs
等。
二、配置文件路径及说明
文件名 | 路径 | 作用 |
named.conf | /var/named/chroot/etc/ | DNS 服务器的主配置文件,定义了 DNS 服务器的基本运行参数,如监听地址、端口、日志设置、区域文件目录等 |
named.rfc1912.zones | /var/named/chroot/etc/ | 包含了一些默认的区域配置模板,可用于参考和修改以创建自定义的 DNS 区域配置 |
named.cachingnameserver.conf | /var/named/chroot/etc/ | 缓存名称服务器的配置文件,用于配置 DNS 查询的缓存相关设置,如缓存大小、过期时间等 |
三、主配置文件 named.conf 配置要点
1、options 部分:
listenon port 53 { any; };
:指定 BIND 侦听本机所有 IP 地址的 53 端口收到的 DNS 查询请求,如果是在特定网络环境中,可以将any
替换为具体的 IP 地址或网段,以增强安全性。
directory "/var/named";
:指定区域文件所在的目录,BIND 会在该目录下查找和存储与 DNS 区域相关的文件。
dumpfile "/var/named/data/cache_dump.db";
和statisticsfile "/var/named/data/named_stats.txt";
等:用于指定缓存转储文件和统计信息文件的路径,这些文件对于分析 DNS 服务器的性能和故障排除有一定帮助。
allowquery { any; };
:接收任何客户端的 DNS 查询请求,为了安全起见,在生产环境中通常需要明确指定允许查询的客户端 IP 地址或网段。
2、logging 部分:
channel default_debug { file "data/named.run"; severity dynamic; };
:定义了一个日志通道,将日志信息输出到data/named.run
文件中,日志的严重级别根据具体情况动态调整,通过查看日志文件,可以获取 DNS 服务器的运行状态、错误信息等,有助于排查问题。
3、view 部分:
view localhost_resolver { matchclients { any; }; matchdestinations { any; }; recursion yes; include "/etc/named.zones"; };
:定义了一个视图,表示处理源和目标任意的查询请求,并启用递归查询。include "/etc/named.zones";
语句用于引入其他区域配置文件中的定义,使得 DNS 服务器能够根据不同的区域配置进行域名解析。
四、创建和管理 DNS 区域
1、正向解析区域配置:
进入/var/named/chroot/etc
目录,复制named.rfc1912.zones
文件为named.zones
,即cp p named.rfc1912.zones named.zones
。
在named.zones
文件中添加正向解析区域定义,
zone "example.com" IN { type master; file "example.com.zero"; allowtransfer { 192.168.1.100; }; # 指定辅助服务器的 IP 地址,用于区域传输 allowupdate { none; }; # 禁止动态更新,防止未经授权的修改 };
进入/var/named/chroot/var/named
目录,复制named.zero
文件为example.com.zero
,即cp p named.zero example.com.zero
。
编辑example.com.zero
文件,添加域名相关的记录,如:
$TTL 86400 @ IN SOA dns.example.com. root.example.com. ( 2024042501 ; serial (序列号,每次修改区域文件后需递增) 3H ; refresh (刷新时间) 15M ; retry (重试时间) 1W ; expiry (过期时间) 1D ) ; minimum (最小 TTL 值) IN NS dns.example.com. IN MX 10 mail.example.com. www IN A 192.168.1.100
2、反向解析区域配置:
同样在named.zones
文件中添加反向解析区域定义,
zone "1.168.192.inaddr.arpa" IN { type master; file "1.168.192.local"; allowtransfer { 192.168.1.100; }; allowupdate { none; }; };
进入/var/named/chroot/var/named
目录,复制named.local
文件为1.168.192.local
,即cp p named.local 1.168.192.local
。
编辑1.168.192.local
文件,添加反向解析记录,如:
$TTL 86400 @ IN SOA dns.example.com. root.example.com. ( 2024042501 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expire 86400 ) ; minimum IN NS dns.example.com. 100 IN PTR www.example.com.
五、修改本地主机文件和解析配置文件
1、修改/etc/hosts文件:
添加本地域名和 IP 地址的映射关系,
127、0.0.1 example.com localhost 192、168.1.100 mail.example.com 192、168.1.100 www.example.com
这样在本地主机上访问example.com
、mail.example.com
和www.example.com
时,会直接解析为对应的本地 IP 地址,加快访问速度并避免不必要的外部 DNS 查询。
2、修改/etc/resolv.conf文件:
将nameserver
指向本地 DNS 服务器的 IP 地址,
nameserver 192.168.1.100
如果需要设置多个 DNS 服务器,可以按照优先级依次列出,这样本地系统在进行域名解析时,会首先向本地配置的 DNS 服务器发送查询请求。
六、启动和测试 DNS 服务
1、启动 DNS 服务:
执行命令service named restart
或systemctl start named
来启动或重启 DNS 服务,使配置生效。
2、测试 DNS 解析:
正向测试:使用nslookup www.example.com
命令,如果配置正确,应该能够返回www.example.com
对应的 IP 地址192.168.1.100
。
反向测试:使用nslookup 192.168.1.100
命令,应该能够返回100.1.168.192.inaddr.arpa
对应的域名www.example.com
。
七、相关问题与解答
问题一:如何在 CentOS 5.5 的 DNS 配置中设置 CNAME 记录?
解答:在对应的正向区域文件中,按照以下格式添加 CNAME 记录,例如要在example.com
区域中为web
设置 CNAME 记录指向www
,可在example.com.zone
文件中添加:
web IN CNAME www
保存文件后,重启 DNS 服务,然后使用nslookup web.example.com
进行测试,如果显示web.example.com canonicalname = www.example.com.
且返回正确的 IP 地址,则表示 CNAME 记录设置成功。
问题二:为什么在 CentOS 5.5 配置的 DNS 服务器无法解析外部域名?
解答:可能的原因有以下几种:
1、网络连接问题:检查服务器的网络连接是否正常,确保能够访问外部网络,可以通过ping
命令测试与其他外部服务器的连通性。
2、防火墙设置:检查服务器的防火墙是否阻止了 DNS 查询请求或对外的网络访问,可以使用iptables L
命令查看防火墙规则,并根据需要进行配置调整,允许 DNS 服务的相关端口(如 53 端口)的进出流量。
3、DNS 转发配置错误:如果在配置中设置了 DNS 转发,但转发器的地址配置错误或不可达,会导致无法解析外部域名,检查 DNS 配置文件中的转发设置,确保转发器地址正确且可用,例如在named.conf
文件中,如果有转发设置,应确保指定的转发器 IP 地址能够正常响应查询请求。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/193773.html