从老的服务器上,把dns搬到新的服务器上,新系统是centos 6.3 X86_64,以前配置过一次dns,正向反向都有。请参考:linux dns服务器 安装配置详解,和上次配置有所不同是这次装的版本比较新9.8.2的,并且写法上也有所不同。
一,注册dns server
这一步不要忘了,不然你配置的在正确也不可能解析成功的。域名注册商的后台肯定有dns server注册的地方,如果没有,那肯定是天朝的小域名注册商的问题。
先注册dns server,等dns server解析后,基本上dns server服务器上的配置就已经做好了。
二,安装bind
- [root@linux ~]# yum -y install bind*
在这里和以前安装有一点不同,就是caching-nameserver集成bind里面去了。
三,配置dns server
1,配置/etc/named.conf
- [root@hatch etc]# cat /etc/named.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- //
- // named.conf
- //
- // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
- // server as a caching only nameserver (as a localhost DNS resolver only).
- //
- // See /usr/share/doc/bind*/sample/ for example named configuration files.
- //
- options {
- listen-on port 53 { any; }; //把localhost改成any
- directory "/var/named";
- 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; }; //把localhost改成any
- recursion yes;
- dnssec-enable yes;
- dnssec-validation yes;
- dnssec-lookaside auto;
- /* Path to ISC DLV key */
- bindkeys-file "/etc/named.iscdlv.key";
- managed-keys-directory "/var/named/dynamic";
- };
- logging {
- channel default_debug {
- file "data/named.run";
- severity dynamic;
- };
- };
- zone "." IN {
- type hint;
- file "named.ca";
- };
- include "/etc/named.rfc1912.zones";
2,配置/etc/named.rfc1912.zones
- [root@hatch etc]# cat /etc/named.rfc1912.zones |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- // named.rfc1912.zones:
- //
- // Provided by Red Hat caching-nameserver package
- //
- // ISC BIND named zone configuration for zones recommended by
- // RFC 1912 section 4.1 : localhost TLDs and address zones
- // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
- // (c)2007 R W Franks
- //
- // See /usr/share/doc/bind*/sample/ for example named configuration files.
- //
- zone "wigscwd.com.au" {
- type master;
- file "/var/named/wigscwd.com.au.hosts";
- };
- zone "stagingserver.com.au" { //该域名就是注册了,dns server的域名
- type master;
- file "/var/named/stagingserver.com.au.hosts";
- };
- zone "nwayschina.com" {
- type master;
- file "/var/named/nwayschina.com.hosts";
- };
注册了dns server的域名,根其他zone文件,有一点不同,下面会说到。
3,配置zone文件。
3.1,注册dns server 域名的,zone文件
- [root@hatch named]# cat /var/named/stagingserver.com.au.hosts
- $ttl 3600
- stagingserver.com.au. IN SOA ns.stagingserver.com.au. ns1.stagingserver.com.au. (
- 1275966886
- 3600
- 3600
- 38400
- 3600 )
- stagingserver.com.au. IN NS ns.stagingserver.com.au.
- stagingserver.com.au. IN A 65.60.11.66
- *.stagingserver.com.au. IN CNAME stagingserver.com.au.
- stagingserver.com.au. IN NS ns1.stagingserver.com.au.
- hatch.stagingserver.com.au. IN A 111.67.16.172 //比非dns server注册的域名多出A记录
- ns.stagingserver.com.au. IN A 111.67.16.172 //比非dns server注册的域名多出A记录
- ns1.stagingserver.com.au. IN A 111.67.16.173 //比非dns server注册的域名多出A记录
- 。。。。。。。。。。。。以下省略。。。。。。。。。。。。。。。
3.2,非注册dns server 域名的,zone文件
- [root@hatch named]# cat /var/named/wigscwd.com.au.hosts
- $ttl 3600
- wigscwd.com.au. IN SOA ns.stagingserver.com.au. ns1.stagingserver.com.au. (
- 1275576166
- 10800
- 3600
- 604800
- 38400 )
- wigscwd.com.au. IN NS ns.stagingserver.com.au.
- wigscwd.com.au. IN NS ns1.stagingserver.com.au.
- wigscwd.com.au. IN A 111.67.16.172
- www.wigscwd.com.au. IN CNAME wigscwd.com.au.
- mail.wigscwd.com.au. IN CNAME ghs.google.com.
- test.wigscwd.com.au. IN A 111.67.16.172
四,修改主机名,加hosts
1,加hosts,修改/etc/hosts
- [root@hatch named]# cat /etc/hosts
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- #111.67.16.172 vmx14420.hosting24.com.au
- #111.67.16.172 hatch.wigscwd.com.au hatch
- 111.67.16.172 hatch.stagingserver.com.au hatch //这是我加的
2,修改network
- [root@hatch named]# cat /etc/sysconfig/network
- NETWORKING=yes
- HOSTNAME=hatch.stagingserver.com.au //这是我加的
- DOMAIN=stagingserver.com.au //这是我加的
- GATEWAY=111.67.19.254
重启一下服务器,服务器的名字就会改过来,这一步,我觉得有必要做一下,因为机子太多,修改一下主机名,可以知道自己,当前是在哪台服务器上。
五,启动bind进程
- [root@hatch named]# /etc/init.d/named start
六,检查dns server是否安装成功
1,查看进程是否启动
- [root@hatch ~]# netstat -tpnl |grep name
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp 0 0 111.67.16.173:53 0.0.0.0:* LISTEN 5956/named-sdb
- tcp 0 0 111.67.16.172:53 0.0.0.0:* LISTEN 5956/named-sdb
- tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 5956/named-sdb
- tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 5956/named-sdb
- tcp 0 0 ::1:953 :::* LISTEN 5956/named-sdb
如果进程没起来,肯定是dns server配置有问题。
2,查看一下log日志是不是有报错
- Sep 24 14:07:06 vmx14420 named-sdb[13751]: zone wigscwd.com.au/IN: loading from master file /var/named/wigscwd.com.au.hosts failed: permission denied
- Sep 24 14:07:06 vmx14420 named-sdb[13751]: zone wigscwd.com.au/IN: not loaded due to errors.
- Sep 24 14:07:06 vmx14420 named-sdb[13751]: zone captainsoft.com/IN: loading from master file /var/named/captainsoft.com.hosts failed: permission denied
- Sep 24 14:07:06 vmx14420 named-sdb[13751]: zone captainsoft.com/IN: not loaded due to errors.
- Sep 24 14:07:06 vmx14420 named-sdb[13751]: managed-keys-zone ./IN: loaded serial 5
这个错误是因为,zone文件的权限不够,解决办法:
- [root@hatch ~]# cd /var/named/
- [root@hatch named]# chown root:named captainsoft.com.hosts wigscwd.com.au.hosts
给新增的zone文件权限。
3,用dig命令检测一下,配置好的域名
3.1,做为DNS SERVER的域名
- [root@hatch ~]# dig @111.67.16.172 stagingserver.com.au
- ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @111.67.16.172 stagingserver.com.au
- ; (1 server found)
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23171
- ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
- ;; QUESTION SECTION:
- ;stagingserver.com.au. IN A
- ;; ANSWER SECTION:
- stagingserver.com.au. 3600 IN A 65.60.11.66
- ;; AUTHORITY SECTION:
- stagingserver.com.au. 3600 IN NS ns1.stagingserver.com.au.
- stagingserver.com.au. 3600 IN NS ns.stagingserver.com.au.
- ;; ADDITIONAL SECTION:
- ns.stagingserver.com.au. 3600 IN A 111.67.16.172 //做为dns的A记录
- ns1.stagingserver.com.au. 3600 IN A 111.67.16.173 //做为dns的A记录
- ;; Query time: 1 msec
- ;; SERVER: 111.67.16.172#53(111.67.16.172)
- ;; WHEN: Tue Oct 8 11:19:29 2013
- ;; MSG SIZE rcvd: 121
3.2,非dns server的域名
- [root@hatch ~]# dig @111.67.16.172 wigscwd.com.au
- ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @111.67.16.172 wigscwd.com.au
- ; (1 server found)
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24447
- ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
- ;; QUESTION SECTION:
- ;wigscwd.com.au. IN A
- ;; ANSWER SECTION:
- wigscwd.com.au. 3600 IN A 111.67.16.172
- ;; AUTHORITY SECTION:
- wigscwd.com.au. 3600 IN NS ns.stagingserver.com.au.
- wigscwd.com.au. 3600 IN NS ns1.stagingserver.com.au.
- ;; ADDITIONAL SECTION:
- ns.stagingserver.com.au. 3600 IN A 111.67.16.172
- ns1.stagingserver.com.au. 3600 IN A 111.67.16.173
- ;; Query time: 0 msec
- ;; SERVER: 111.67.16.172#53(111.67.16.172)
- ;; WHEN: Tue Oct 8 11:19:16 2013
- ;; MSG SIZE rcvd: 129
为什么检测说了这么多,因为DNS没有解析前,是不能通过url进行访问的,所以看不到效果,只能在服务器检测。如果进程已启动,log日志没有报错,dig检测也没有问题,基本上您的DNS安装配置成功了。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/1569.html