搭建DNS解析服务器,不是属于DNS服务器:比如114.114.114.114啥的,而是能够帮你解析域名的服务器。
1.首先我们需要安装bind
代码语言:javascript复制yum -y install bind*
2.修改主配置文件
代码语言:javascript复制cp /etc/named.conf /etc/named.conf.bak #备份,一般不需要备份
nano /etc/named.conf
修改为以下:
代码语言:javascript复制options {
listen-on port 53 { any; }; // 监听在主机的53端口上。any代表监听所有的主机
directory "/var/named"; // 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下
// 下面三项是服务的相关统计信息
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
forwarders { // 指定上层DNS服务器
192.168.1.1;
};
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
3.自定义域名解析配置
代码语言:javascript复制nano /etc/named.rfc1912.zones
#在最后面添加如下,比如我要解析 miku.cool 以及所有子域名
代码语言:javascript复制zone "miku.cool" IN { // 定义要解析主域名
type master;
file "miku.cool.zone"; // 具体相关解析的配置文件保存在 /var/named/miku.cool.zone 文件中
};
4.自定义miku.cool.zone文件
代码语言:javascript复制nano /var/named/miku.cool.zone
#添加如下
代码语言:javascript复制$TTL 86400
@ IN SOA ns1.miku.cool. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum
@ IN NS ns1.miku.cool.
ns IN A 192.168.1.1
www IN A 192.168.1.113
其中ns1.miku.cool是当前DNS服务器的名称。所以ns1.miku.cool一定要解析到本身。
www IN A 192.138.1.113 //代表把www.miku.cool解析到192.168.1.113服务器上。把www换成@就是解析到miku.cool,其他的类似。
5.修改权限
代码语言:javascript复制chown root:named /var/named/miku.cool.zone #这一步一定要做
6.重启服务
代码语言:javascript复制service named restart
#或者
systemctl restart named.service
新增域名解析
如果我们需要在追加一个域名的解析,比如miku.city,则:
代码语言:javascript复制nano /etc/named.rfc1912.zones
代码语言:javascript复制// 添加下面这段
zone "miku.city" IN {
type master;
file "miku.city.zone";
};
代码语言:javascript复制cp -a miku.cool.zone miku.city.zone
代码语言:javascript复制nano miku.city.zone
代码语言:javascript复制//换成如下,由于我们ns1.miku.cool已经是我们的解析服务器,所以不需要修改
$TTL 86400
@ IN SOA ns1.miku.cool. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum
@ IN NS ns1.miku.cool.
ns IN A 192.168.1.1
www IN A 192.168.1.114
@ IN A 192.168.1.114
配置之后还要重启服务
代码语言:javascript复制service named restart
#或者
systemctl restart named.service
注意:如果有问题的话就关闭一下selinux,然后防火墙规则什么的