Bind安装
DNS服务是用来解析域名与IP之间的关系。分为两种,一种是正向解析,知道域名解析出IP,一种是反向解析,知道IP解析出域名。优点是实现简单,缺点是DNS的负载均衡是比较简单的轮询,均衡不够,没有心跳检测机制,不知道真正的服务端是否存活,另外客户端DNS查询后在本地有缓存,对整体的容错不好。
如果是搭建私有DNS服务,目前用得比较多的是Bind软件,下载bind-9.8.0.tar.gz
安装包,linux下源码编译安装三步曲(configure,make,make install)。
配置修改
named.conf
named.conf是bind的唯一配置主文件,一般放在/etc
目录下,如果安装后该目录下没有,则手动生成一个,其内容如下。
options {
directory "/var/named"; //表示默认的数据库文件在/var/named中 若没有需手动创建
pid-file "/var/named/named.pid"; //运行的PID文件路径,用于使用其他用户启动named
};
zone "connection.com" { //创建 connection.com域
type master;
file "connection.com.zone";
allow-update { none; }; //定义了允许向主zone文件发送动态更新的匹配列表
};
key "rndc-key" {
algorithm hmac-md5;
secret "HWM3L+e7LWDZJJ/dJEzQEw==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
在options配置中指明了相关配置放在/var/named
目录下,所以接下在该目录下创建zone
文件,内空如下所示。
$TTL 1W
@ 1D IN SOA connection.com. root.localhost. (
2006101001 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS ns.connection.com.
ns 1D IN A 10.10.107.104
s 1D IN A 10.10.107.171
1D IN A 10.10.107.104
我的本意是想使用域名s.connection.com
,有两个IP进行服务10.10.107.171
与10.10.107.104
。
resovl.conf
resovl.conf
是客户机配置文件,用来指定DNS服务器的IP以及域名,还包括了主机的域名搜索顺序。配置如下。
search connection.com
nameserver 10.10.107.104
启动
查看named
命令的安装目录wheris named
执行命令named -c /etc/named.conf
查看程序是否己启动ps -ef|grep named
如果执行启动命令后并没有查看到相应的进程ID,查可以查看系统日志tail -f /var/log/message
测试验证
nslookup
是一个域名查询工具,使用哪下所示则说明配置成功。
[root@localhost ~]# nslookup
> s.connection.com
Server: 10.10.107.104
Address: 10.10.107.104#53
Name: s.connection.com
Address: 10.10.107.104
Name: s.connection.com
Address: 10.10.107.171
>
问题
问题一 managed-keys-zone ./IN: loading from master file managed-keys.bind failed: file not found
出现此原因是由managed-keys.bind
文件不存在,可手动在/var/named
目录下touch managed-keys.bind
,然后重启named服务.