发布时间:2014-09-05 17:17:43作者:知识屋
学校的DNS服务器是Linux操作系统,绑定DNS的时候发现总有点问题,常常客户端电脑无法得到正确的解析。于是我就自己研究了下Linux下的绑定域名设置bind软件。
我本地用的是Ubuntu 10.04, 使用前更新了下bind软件至最新bind9
bind 使用端口号53来进行通信,包括与其它DNS服务器交换解析信息,所以此商品不能被其它程序占用。
bind8 与bind9 的区别(自己翻译的,提供原文)
除了使用了多线程、程序代码重构,从而提供了更好的稳定性和安全性,还有其它一些区别:
Apart from being multi-threaded, and a complete code rewrite - which should provide better stability and security in the long term, there are other differences
如果在named.conf文件中有语法错误,BIND9会将它写到日志文件中并且不再重启域名服务器,BIND8会记录日志然后服务死掉。
If there is a syntax error in named.conf, BIND9 will log errors and not reload the named server. BIND8 will log errors and the daemon will die!
取得控制权的TSIGs(shared keys)扩展支持,比如“update-policy"可以取得控制从而动态更新数据。
Extensive support of TSIGs (shared keys) for access control, for example, “update-policy” can be used for fine grained access control of dynamic updates.
启动/停止/重启 工具等,rndc与bind8的ndc不同-不同的通信、授权和特性。
The tool for starting/stopping/reloading etc., rndc is different from the v8 ndc - different communications, authentication and features.
区域配置文件的语法更加严格(比如TTL行必须存在)
Syntax in zone files is more rigorously checked (e.g. a TTL line must exist)
有关named.conf文件的设定
bind8的"check-names"和"statistics-interval"这两项设定没有被移植到bind9中
v8 options ‘check-names’ and ‘statistics-interval’ are not yet implemented in V9.
"auth-nxdomain" 的默认值是"no",如果你没有手动设定这一项,bind9会在启动时生成相应的一条日志消息
the default for the option ‘auth-nxdomain’ is now ‘no’, if you don’t set this manually, BIND 9 logs a corresponding message on startup.
根域名服务器列表,在bind8中的named.root 或 root.hints不需要在BIND9中设定,因为它已经被服务器默认包含了。
The root server list, often called named.root or root.hints in BIND8 is not necessary in BIND 9, as it is included within the server.
在Ubuntu中安装bind
sudo apt-get install bind9 dnsutils
配置bind
sudo vi /etc/bind/named.conf.local
修改这个文件,在里面添加下面这些内容:
zone "myqdc.com" {
type master;
file "/etc/bind/zones/myqdc.com.db";
};
zone "100.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.100.168.192.in-addr.arpa";
};
zone "myqdc.com" {type master;file "/etc/bind/zones/myqdc.com.db";};
zone "100.168.192.in-addr.arpa" {type master;file "/etc/bind/zones/rev.100.168.192.in-addr.arpa";};
其中,myqdc.com改为相应的域名,我本地IP地址是192.168.100.100接着当然需要新建两个文件, myqdc.com.db(用来配置解析记录,比如A,CNAME等), rev.100.168.192.in-addr.arpa(反向解析配置文件)
myqdc.com.db需要放到/etc/bind/zones文件夹下,内容如下:
myqdc.com. IN SOA ns1.myqdc.com. admin.myqdc.com. (
2007031001
28800
3600
604800
38400
)
myqdc.com. IN NS ns1.myqdc.com.
www IN A 221.215.217.101
* IN A 221.215.217.101
其中,括号中的内容不要修改。相应的域名和IP地址可以根据实际情况更改。其中最后一行
* IN A 221.215.217.101
配置了一条泛域名解析,经测试没问题。
接下下:rev.100.168.192.in-addr.arpa 这个文件,同样放到zones文件夹下,内容如下:
@ IN SOA ns1.myqdc.com. admin.myqdc.com. (
2007031001;
28800;
604800;
604800;
86400
)
IN NS ns1.myqdc.com.
100 IN PTR myqdc.com.
最后一行,由于我的IP地址是:192.168.100.100,所以取IP的最后8位:100
接下来试下重启服务:
service bind9 restart
如果出现connection refuced 的fail信息,那么就继续进行下面步骤:
重新生成rndc.conf
rndc-confgen > /etc/bind/rndc.conf
然后将rndc.conf下面注释部分copy到/etc/bind/rndc.key文件中,把#去掉。
接着在/etc/bind/named.conf文件最后加入一行:
include "/etc/bind/rndc.key";
接着试下运行named -g 看下有没有出错信息,如果有的话,按照提示修改下配置文件。
最后一步,可以进行测试了:
修改/etc/resolv.conf 文件,在所有的nameserver 开头的行之前加入一行:
nameserver 192.168.100.100
IP地址当然就是你搭建的DNS服务器的地址。
然后再重启服务:
service bind9 restart
nslookup 一下:
root@www.linuxidc.com-laptop:/etc/bind/zones# nslookup www.linuxidc.com
Server: 192.168.100.100
Address: 192.168.100.100#53
Name: www.linuxidc.com
Address: 221.215.217.101
由于配置的泛解析,所以:
root@www.linuxidc.com-laptop:/etc/bind/zones
# nslookup www.linuxidc.net
Server: 192.168.100.100
Address: 192.168.100.100#53
Name: www.linuxidc.net
Address: 221.215.217.101
用dig 命令查看更详细的DNS查询信息:
root@www.linuxidc.com-laptop:/etc/bind/zones# dig www.linuxidc.com
; <<>> DiG 9.7.0-P1 <<>> www.linuxidc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40293
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.linuxidc.com. IN A
;; ANSWER SECTION:
www.linuxidc.com. 38400 IN A 221.215.217.101
;; AUTHORITY SECTION:
myqdc.com. 38400 IN NS ns1.myqdc.com.
;; ADDITIONAL SECTION:
ns1.myqdc.com. 38400 IN A 221.215.217.101
;; Query time: 0 msec
;; SERVER: 192.168.100.100#53(192.168.100.100)
;; WHEN: Mon Apr 4 11:34:21 2011
;; MSG SIZE rcvd: 81
好了,到此为止,DNS服务就架设成功了。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能