NS www.zgb.com. 1 PTR www.zgb.com. 2 PTR web.zgb.com. 3 PTR net.zgb.com.
注意反向区域文件的记录以PTR类型为主,不需要MX、A、AAAA等记录。
保存退出! 修改权限 chmod +r /var/named/* #添加读权限 启动服务 service named start 测试配置是否成功
安装bindutils包后使用dig命令进行测试
dig www.zgb.com
如果显示正确的IP地址则表示DNS配置成功。
常见问题: 问题一:安装BIND依赖失败怎么办? 解决:检查系统版本与软件包版本的兼容性,可能需要手动下载并安装缺失的依赖项。 问题二:无法启动或启动失败怎么办? 解决:查看系统日志或named日志,排查配置文件语法错误或端口冲突等问题。
centos6.6安装dns教程
以下是在CentOS 6.6上安装和配置DNS服务器的详细步骤教程,包含多个关键部分及注意事项,帮助你顺利完成DNS服务器的搭建。
安装前准备
-
系统更新
- 在开始安装DNS相关软件之前,建议先更新系统,以确保系统处于最新状态,避免因系统组件版本过低导致后续安装或配置出现问题,执行以下命令更新系统:
- yum update y
-
网络配置
- 确保服务器的网络连接正常,并且配置了静态IP地址,因为DNS服务器需要稳定的IP地址,以便客户端能够准确找到它进行域名解析请求,可以通过编辑网络配置文件来设置静态IP,例如编辑
/etc/sysconfig/networkscripts/ifcfgeth0
(假设网卡设备名为eth0),设置BOOTPROTO=static
,并指定IPADDR
(IP地址)、NETMASK
(子网掩码)等参数,将DNS1设置为本机的IP地址(如DNS1=192.168.x.x
),用于本机测试。
- 确保服务器的网络连接正常,并且配置了静态IP地址,因为DNS服务器需要稳定的IP地址,以便客户端能够准确找到它进行域名解析请求,可以通过编辑网络配置文件来设置静态IP,例如编辑
安装DNS软件包
CentOS 6.6中常用的DNS软件是BIND(Berkeley Internet Name Domain),通过以下命令安装BIND及其相关工具:
yum y install bind bindlibs bindutils
bind
:提供DNS服务器程序。bindlibs
:包含被bind和bindutils包中的程序共同用到的库。bindutils
:包含bind客户端程序集,如dig、host、nslookup等,后面测试会用到。
配置主配置文件
BIND的主配置文件是/etc/named.conf
,需要进行以下修改:
-
监听设置
- 默认情况下,BIND仅监听本地回环地址(127.0.0.1),若需对外提供服务,需修改
options
部分,允许监听所有IP的53端口,并接受任意客户端的查询请求,找到options
节,修改如下:listenon port 53 { any; }; allowquery { any; };
- 默认情况下,BIND仅监听本地回环地址(127.0.0.1),若需对外提供服务,需修改
-
目录设置
- 确保
directory
选项指向正确的目录,通常为/var/named
,用于存放区域文件,如果没有特殊需求,可保持默认设置。
- 确保
配置正向区域
-
定义区域
- 打开
/etc/named.conf
文件,在文件中添加正向区域配置,要为域名example.com
配置正向解析,添加以下内容:zone "example.com" IN { type master; file "example.com.zone"; allowupdate { none; }; };
type master
表示这是主DNS服务器,负责该区域的权威解析。file "example.com.zone"
指定了存储该区域数据的文件名,文件应位于/var/named
目录下。
- 打开
-
创建区域文件
- 进入
/var/named
目录,创建一个名为example.com.zone
的文件(文件名要与主配置文件中定义的一致),并添加以下内容作为示例:$TTL 86400 @ IN SOA ns1.example.com. root.example.com.( 2024010101 3600 1800 604800 86400 ) @ IN NS ns1.example.com. @ IN A 192.168.1.100 ns1 IN A 192.168.1.100 www IN A 192.168.1.200
$TTL 86400
:设置默认的生存时间(Time to Live)为86400秒。SOA
记录:标明主DNS服务器(ns1.example.com)及管理员邮箱(root.example.com,注意邮箱中的@需替换为.),后面的数字分别表示序列号、刷新时间、重试时间、过期时间和最小TTL。NS
记录:指定名称服务器。A
记录:将域名映射到IP地址。
- 进入
配置反向区域(可选)
-
定义反向区域
- 如果需要支持IP到域名的反向查询,可在
/etc/named.conf
文件中添加反向区域配置,对于网络192.168.1.0/24,添加以下内容:zone "1.168.192.inaddr.arpa" IN { type master; file "1.168.192.inaddr.arpa.zone"; allowupdate { none; }; };
- 区域名称是网络地址的反写加上
.inaddr.arpa
后缀。
- 如果需要支持IP到域名的反向查询,可在
-
创建反向区域文件
- 在
/var/named
目录下创建一个名为168.192.inaddr.arpa.zone
的文件,并添加以下内容作为示例:$TTL 86400 @ IN SOA ns1.example.com. root.example.com.( 2024010101 3600 1800 604800 86400 ) @ IN NS ns1.example.com. 100 IN PTR www.example.com.
- 反向区域文件中的记录以
PTR
类型为主,用于将IP地址映射到域名。
- 在
设置防火墙和SELinux(如果有)
-
防火墙设置
- 如果服务器启用了防火墙,需要开放53端口(TCP和UDP)以允许DNS查询和响应通过,可以使用以下命令临时关闭防火墙(仅用于测试,生产环境中应合理配置防火墙规则):
service iptables stop
- 或者使用
iptables
命令添加规则开放53端口。iptables A INPUT p tcp dport 53 j ACCEPT iptables A INPUT p udp dport 53 j ACCEPT
- 若要永久保存防火墙规则,可以编辑
/etc/sysconfig/iptables
文件,添加上述规则。
- 如果服务器启用了防火墙,需要开放53端口(TCP和UDP)以允许DNS查询和响应通过,可以使用以下命令临时关闭防火墙(仅用于测试,生产环境中应合理配置防火墙规则):
-
SELinux设置
- 如果SELinux处于启用状态,可能会限制BIND的正常运行,可以暂时将SELinux设置为宽松模式(仅用于测试,生产环境中应根据安全策略进行配置):
setenforce 0
- 如果SELinux处于启用状态,可能会限制BIND的正常运行,可以暂时将SELinux设置为宽松模式(仅用于测试,生产环境中应根据安全策略进行配置):
启动和测试DNS服务
-
启动服务
- 使用以下命令启动BIND服务:
service named start
- 若要设置服务开机自启,可使用:
chkconfig named on
- 使用以下命令启动BIND服务:
-
测试配置
- 可以使用
dig
、host
或nslookup
等命令测试DNS配置是否成功,使用dig
命令查询www.example.com
的A记录:dig www.example.com @localhost
- 如果返回正确的IP地址,说明DNS配置成功。
- 可以使用
常见问题与解答
-
安装BIND依赖失败怎么办?
- 解答:检查系统版本与软件包版本的兼容性,可能需要手动下载并安装缺失的依赖项,确保系统的软件源配置正确,并且网络连接正常,以便能够从软件源获取所需的软件包。
-
无法启动或启动失败怎么办?
- 解答:查看系统日志或named日志,排查配置文件语法错误或端口冲突等问题,可以使用
namedcheckconf
命令检查主配置文件的语法是否正确,
- 解答:查看系统日志或named日志,排查配置文件语法错误或端口冲突等问题,可以使用