静态DNS即网络的各台主机有固定IP,DNS记录的主机与IP之间的映射是固定的。
首先安装bind:sudo apt-get install bind9
这时在/etc/bind下会出现(这里跟其他的UNIX/LINUX不同,一般其他的UNIX/LINUX默认是把配置文件放
在/etc/named下,数据文件放在/var/named或/var/bind下的,而UBUNTU都一起放在这个目录下了)
db.0 db.255 db.root named.conf.local
db.127 db.local named.conf named.conf.options
其中named.conf为主配置文件,named.conf.local和named.conf.options这两个文件在其他的UNIX/LINUX
系统里默认是没有的,UBUNTU的这种想法很不错,把各个部分都分开管理;其余的部分都是默认生成的几
个数据文件。这里需要稍微讲一下区数据文件里的几个资源记录的含义:
SOA记录:指示该区的权威
NS记录:列出该区的一个名字服务器
A记录:名字到地址的映射 (也就是正向解析)
PTR记录:地址到名字的映射 (也就是反向解析)
CNAME:规范名字 (别名记录)
接下来配置:我们只要更改named.conf.local文件就ok了,ubuntu是建议不直接在named.conf直接配置的:
添加如下:
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "15.117.202.in-addr.arpa"{
type master;
file "/etc/bind/db.202.117.15";
};
zone "test.com"{
type master;
file "/etc/bind/db.test.com";
};
创建db.test.com和db.202.117.15两个文件
sudo vi /etc/bind/db.202.117.15
修改:
;
$TTL 604800
@ IN SOA ubuntu.test.com. root.ubuntu.test.com. (;配置当前区域的DNS权威服务器
1; serial
6040800;refresh
86400;retry
2419200;expire
604800 );negative cache ttl;
@ IN NS ubuntu.test.com. ;我也不知道为什么有个@,大家都这样写,就这样写啦,并且加个"."比较好,否则会出现后面翻译的时候后面跟一串东西
165 IN PTR ubuntu.test.com.
db.test.com
sudo vi /etc/bind/db.test.com
修改:
;
$TTL 604800
@ IN SOA ubuntu.test.com. root.ubuntu.test.com. (
1;
604800;
86400;
2419200;
604800 );
@ IN NS ubuntu.test.com
ubuntu IN A 202.117.15.165;A后面不能跟的是名称,即这种情况ubuntu IN A NS,在nslookup的时候会报错。
www IN CNAME ubuntu
我们用nslookup测试,先把202.117.0.20和202.117.0.21关掉
> ubuntu.test.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ubuntu.test.com
Address: 202.117.15.165
> www.test.com
Server: 127.0.0.1
Address: 127.0.0.1#53
www.test.com canonical name = ubuntu.test.com.
Name: ubuntu.test.com
Address: 202.117.15.165
> 202.117.15.165
Server: 127.0.0.1
Address: 127.0.0.1#53
165.15.117.202.in-addr.arpa name = ubuntu.test.com.15.117.202.in-addr.arpa.;出现后面一串东西就是因为之前没有加“.”
>