实验 搭建一台DNS服务器
服务器localhost,ip地址:192.168.43.100
客户端centos6,ip地址:192.168.43.101
我们尝试用localhost这台机器搭建一个DNS服务器,然后用centos6去做客户端。
服务器配置:
1、关掉防火墙和selinux,启动named服务,
2、修改侦听的ip
[root@localhost ~]$vim /etc/named.conf
#/etc/named.conf是配置文件
修改监听的ip为localhost,localhost表示本机的所有ip
修改允许访问的ip,我这里注释掉,表示允许所有ip访问。
只转发/缓存服务器:
我们开启了dns服务器后,可以把我们本机的ip作为DNS服务器。
由于当前没有配置任何域,这个服务器收到请求后,会找到根服务器,一级级查询,最后返回结果。这种DNS服务器叫做缓存服务器。
二、建立域数据库
我们创建一个luo.com的域,对应的数据库为/var/named/luo.com.zone
1、指定域和数据库的关系
[root@localhost ~]$vim /etc/named.rfc1912.zones
#/etc/named.rfc1912.zones存放着域和数据库映射关系信息
zone "luo.com" {
type master
file "luo.com.zone"
}
#luo.com.zone文件默认存放在/var/named/目录下,因此只写文件名即可
#把上面的信息添加到/etc/named.rfc1912.zones文件里
#或者把上面的信息直接放在/etc/named.conf
2、建立数据库文件
[root@localhost ~]$cp -a /var/named/named.localhost /var/named/luo.com.zone
#以/var/named/named.localhost为模板,创建luo.com.zone文件,然后我们修改一下。
#拷贝时注意加“-a”保留文件权限
luo.com.zone文件内存放着很多资源记录,每一行代表一个记录。
资源记录格式如下:
语法: name [TTL] IN rr_type value
nane:名字。@表示引用当前区域名字
TTL:缓存生存时间,可以全局定义,定义后资源记录可以省略不写,如上图蓝色方框处。
IN:表示该记录是互联网记录
rr_type:记录类型,如SOA、NS、MX、A记录、其他记录
value:值
记录项如果不写,表示继承上一条记录的内容。
检查一下文件格式:
[root@localhost ~]$named-checkconf
/etc/named.rfc1912.zones:15: missing ';' before 'file'
/etc/named.rfc1912.zones:16: missing ';' before '}'
/etc/named.rfc1912.zones:19: missing ';' before 'zone'
#检查一下格式,提示漏了分号,按照提示添加上去
[root@localhost ~]$named-checkzone luo.com /var/named/luo.com.zone
zone luo.com/IN: loaded serial 0
OK
重新加载一下服务
[root@localhost ~]$rndc reload
server reload successful
客户端
我到另一台机器centos6上测试一下刚才搭配的服务器
可以看到websrv.luo.com这个域名解析到的ip就是我们配置的ip 1.1.1.1。