搭建DNS服务器-bind
1. 安装
yum install -y bind-chroot
yum install -y bind-utils
service named-chroot start
2. 修改配置
增加一个域名解析:
在/etc/namd.conf中增加一个域(zone,这个步骤并不是必须,必要性有待验证):
1 zone "test.com" IN { 2 type hint; 3 file "test.com.zone"; 4 };
在/etc/named.rfc1912.zones里面增加一个节点:
1 zone "test.com" IN { 2 type master; 3 file "named.zone"; 4 allow-update { none; }; 5 };
在/var/named下面文件named.zone(文件名称对应.zones文件中的file配置):
1 @ IN SOA @ test.com ( 2 0 ; serial 3 1D ; refresh 4 1H ; retry 5 1W ; expire 6 3H ) ; minimum 7 NS @ 8 A 10.1.108.6
这里的A代表Address,即域名映射的IP地址的意思,这一行也被称之为A记录
启动后的日志路径在/etc/namd.conf的logging节点下定义。但是启动成功前的日志,只能通过service named-chroot status -l 来看(或者named来简写)。
记得还要对/etc/resolve.conf文件进行设置:
servername dns_server_ip
但是如果已经安装了dcos,编辑resolve.conf文件就没有意义了,改完了,就会被程序进行重置;或者是ifcfg-XXX中来指定DNS,会覆盖resolve里面的配置。
对于dns的相关工具:dig以及nslook需要安装bind-utils才能够使用,dig来测试DNS服务器是否正常工作:
dig @dns_server_ip test.com
如果已经在resolve文件中指定了域名服务器,则此处可以直接写:
dig test.com
但是这里有一个疑问:为什么我在ifcfg里面指定了DNS1不好使呢?后来发现,如果不在ifcfg-xx中指定网关,就无法使用里面的DNS1,DNS2,哪怕你只是指定了默认的网关XXX.1,但是需要指定;如果没有在ifcfg-XX中指定DNS,还可以在/etc/resolve.conf中来进行指定,这种指定是无需ifcfg-XXX来配合指定默认网关。所以两者配置一个即可。但是为什么ifcfg中的DNS一定要配置GATEWAY呢?
3. 重启发现异常
named.zone:9: unknown RR type 'test.com'
原来是因为在named.zone里面“NS @”下面写的“test.com 10.1.108.6”,其实应该是“A 10.1.108.6”。A其实代表的是Address,即“主机名对应的ip地址”的意思。
4. 相关知识点:
FQDN(Full Qulitiy Domain Name)
FQDN的规则是:机器的全路径,包括顶级域到机器的全路径。全域名(顶级域名)是后缀为“.",例如neusoft.就是东软的顶级域名,主机tongqi是其子域,则他的FQDN是tongqi.neusoft,当单独出现tongqi,则代表的是主机名。