DNS域名解析服务器,dns服务器程序包名称为bind,程序名named。
安装DNS服务器:yum install bind -y
配置文件:
/etc/named.conf        主配置文件
/etc/rndc.key              Remote Name Domani Controller
/var/namd/                 区域数据文件
/etc/rc.d/init.d/named        {start|stop|restart|status|reload}
/usr/sbin/named                主程序
/usr/sbin/named-checkconfig          检查配置文件
/usr/sbin/named-checkzone            检查zone
/usr/sbin/rndc-confgen                    生产rndc的配置文件
caching-nameserver      这是个软件包,能把DNS服务器变为缓存DNS服务器
配置文件:
1、修改监听地址:listen-on 改为外部可访问地址。
2、修改访问权限:allow-query 改为 any 表示任何人都可以访问。
3、注释掉dnssec。options {
listen-on port 53 { 192.168.1.141; 127.0.0.1; };// 多地址用分号,注释掉默认监听所有端口
directory       "/var/named"; // 区域解析,options中最关键的一项,其他的都可以删除
dump-file       "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { any; }; // 允许外部访问
recursion yes; // 是否允许递归,一般yes
forwarders { // 线上解析
223.5.5.5;
114.114.114.114;
};
//下面的4条都都是关于加密的,配置繁琐不实用,改成no
dnssec-enable no;
dnssec-validation no;
//bindkeys-file "/etc/named.iscdlv.key";
//managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
日志配置:logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
区域配置文件:每一个这样的配置就是一个区域,这里的“.”代表根区域zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
启动:systemctl start named.service
配置主DNS名称服务器:
在 /etc/named.rfc1912.zones 文件中添加如下内容:zone "ziwei.wiki" IN {
type master;
file "ziwei.wiki.zone"; // 这里包含的文件相对于路径 /var/named/
};
创建解析文件:vim /var/named/ziwei.wiki.zone
内容如下:$TTL 1D
$ORIGIN ziwei.wiki.
@       IN      SOA     ns1.ziwei.wiki. admin.ziwei.wiki. (
2018112501
1H
5M
7D
1D )
IN      NS      ns1
IN      NS      ns2
ns1     IN      A       192.168.1.141
ns2     IN      A       192.168.1.141
www     IN      A       192.168.1.108
检查配置文件:
检查主配置文件命令named-checkconf
检查区域配置文件,第一个参数为区域名称,第二个为区域地址。named-checkzone "ziwei.wiki" ziwei.wiki.zone
修改配置文件的属组:chmod 640 ziwei.wiki.zone
chown :named ziwei.wiki.zone
重读配置文件命令:service named reload
或
rndc  reload
查看状态:rndc status
查找解析记录:“@”表示指定DNS解析地址dig -t A www.ziwei.wiki @192.168.1.141
dig -t A ipaipan.com @192.168.1.12 +trace
host -t A ipaipan.com
host -t A ipaipan.com 192.168.1.12 # ip为server
nslookup  ipaipan.com 192.168.1.12 # ip为server
DNS监听端口与协议:53/udp、53/tcp、953/tcp, rndc 默认监听端口
解析类型:
SOA:起始授权记录,一个区域解析库有且仅能有一个SOA记录,且必须为解析库的第一条。
A:FQDN-->ipv4
AAAA:FQDN-->ipv6
PTR:IP-->FQDN
NS:表名当前区域的DNS服务器name server
CNAME:别名记录
MX:邮件交换器mail exchanger
解析记录:
SOA:区域名、TTL值、IN、SOA、主DNS服务地址、邮箱地址(邮箱的@符号有特殊用途用点代替)scriptjc.com.    86400    IN    SOA    ns.scriptjc.com.    admin.scriptjc.com.(
201712292200 ;版本号,任意值
2H  ;刷新时间
10M ;重试时间
1W  ;过期时间
1D  ;否定答案的TTL值
)
NS:为区域指定DNS服务器地址,从服务器scriptjc.com.INNSns1.scriptjc.com.
scriptjc.com.INNSns2.scriptjc.com.
scriptjc.com.INNS192.168.1.12
MX:数字为权重,0-99之间scriptjc.com.    IN    MX    10    mx1.scriptjc.com.
scriptjc.com.    IN    MX    20    mx1.scriptjc.com.
A:有多个值则轮询解析www.scriptjc.com.    IN    A    192.168.1.12
www.scriptjc.com.    IN    A    192.168.1.13
*.scriptjc.com.    IN    A    192.168.1.13
scriptjc.com.    IN    A    192.168.1.13
PTR:IP解析到主机名,反解析,IP要反过来写12.1.168.192.in-addr.arpa    IN    PTR    www.scriptjc.com.
12    IN    PTR    www.scriptjc.com. # 简写
CNAME:m.scriptjc.com.    IN    CNAME    www.scriptjc.com.
简单示例:$TTL 1D
$ORIGIN ipaipan.com.
@       IN SOA  ns.ipaipan.com. admin.ipaipan.com. (
0       ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
IN      NS      ns
ns      IN      A       192.168.1.12
@       IN      A       192.168.1.16
*       IN      A       192.168.1.16