21运维原创,转载请注明出处。
之前也有配置过dns,当时还没有建立该博客,于是就没有写上来。今天特地重新写一篇配置bind9的文章做下记录。原理就不介绍了,直接介绍配置过程。
环境:centos 6.5 64bit 192.168.1.9(主) 192.168.1.10(从)
软件版本:bind9
1,安装dns软件 bind并设置开机启动。
yum install bind -y
设置开机启动,默认不是开机启动。
chkconfig named on
注意该软件使用TCP、UDP协议,其中涉及端口为53(domain) 953(rndc远程控制);bind-chroot这个安装包也可以考虑,是一个安全防护作用的工具包(非专业做DNS的可以了解,一般企业配置dns的多位内网服务器解析使用)。
为了测试使用,前期我们先停止防火墙以及关闭selinux。
2,配置dns进行域名解析。
bind配置文件主要有两个:
(1)/etc/named.conf bind服务主配置文件
(2)/var/named zone文件放置目录。
2.1 我们首先更改/etc/named.conf 配置文件。改动主要有两处:listen-on port 53里边的IP改成服务器IP(默认是127.0.0.1只允许本机解析)和allow-query 将里边的localhost改成any,这样任何调用服务器指向该服务器都可以调用,第二点是增加一个域名zone,建议按照范例进行添加,方式符号遗漏。其中优化以后的配置文件如下:
options { listen-on port 53 { 192.168.1.9; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; allow-query { any; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "21yunwei.com" { type master; file "21yunwei.com.zone"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2.2 设置zone文件。上边的bind配置文件我们看到添加了一个21yunwei.com.zone的文件,我们需要建立并改动一下。进入/var/named目录,拷贝模板文件到21yunwei.com.zone中并进行编辑:
[root@web9 named]#cp -f named.localhost 21yunwei.com.zone [root@web9 named]#vim 21yunwei.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 www IN A 192.168.1.9 bbs IN CNAME www
设置完以后重启bind服务,配置完成。
3,测试dns解析。
首先更改/etc/resolve.conf,将nameserver 改成本机192.168.1.9(bind所在服务器的IP地址)
本地测试解析:
[root@web9 named]# ping www.21yunwei.com PING www.21yunwei.com (192.168.1.9) 56(84) bytes of data. 64 bytes from web9 (192.168.1.9): icmp_seq=1 ttl=64 time=0.013 ms 64 bytes from web9 (192.168.1.9): icmp_seq=2 ttl=64 time=0.038 ms ^C --- www.21yunwei.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1662ms rtt min/avg/max/mdev = 0.013/0.025/0.038/0.013 ms [root@web9 named]# ping bbs.21yunwei.com PING www.21yunwei.com (192.168.1.9) 56(84) bytes of data. 64 bytes from web9 (192.168.1.9): icmp_seq=1 ttl=64 time=0.011 ms 64 bytes from web9 (192.168.1.9): icmp_seq=2 ttl=64 time=0.028 ms
测试没有问题。
1.10进行测试。同样也是更改/etc/resolve.conf,将nameserver 改成本机192.168.1.9(bind所在服务器的IP地址),测试效果:
[root@web10 ~]# ping www.21yunwei.com PING www.21yunwei.com (192.168.1.9) 56(84) bytes of data. 64 bytes from 192.168.1.9: icmp_seq=1 ttl=64 time=0.312 ms 64 bytes from 192.168.1.9: icmp_seq=2 ttl=64 time=0.350 ms 64 bytes from 192.168.1.9: icmp_seq=3 ttl=64 time=0.556 ms
综上所述,dns配置没有问题。
延伸:公司内部可以搭建自己的内网dns服务器,可以提升解析速度而且不影响访问外网,需要设置一个forwards {dns;};。当然,有些测试用的数据自己hosts定向也是可以解决的,根据实际情况来定。