Linux 搭建DNS
使用yum源安装
yum -y install bind*
修改主配置文件
[root@localhost ~]# cp /etc/named.conf /etc/named.conf.bak # 修改之前先备份一遍
[root@localhost ~]# vi /etc/named.conf
修改为以下:
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服务器
114.114.114.114;
};
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";
自定义域名解析配置
[root@localhost ~]# vi /etc/named.rfc1912.zones # 比如我们要添加example.com这个域的解析可以添加下面这一段
zone "example123.com" IN { // 定义要解析主域名
type master;
file "example123.com.zone"; // 具体相关解析的配置文件保存在 /var/named/example123.com.zone 文件中
};
自定义example123.com.zone文件
[root@ns named]# vi /var/named/example123.com.zone
全文如下:
$TTL 86400
@ IN SOA ns.example123.com. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum
@ IN NS ns. example123.com.
ns IN A 192.168.1.219
www IN A 192.168.1.45
bbs IN A 192.168.1.46
ttt IN A 192.168.1.68
www IN A 192.168.1.45 代表 www.example123.com 解析到 192.168.1.45服务器上。其他的类似
修改权限
[root@ns named]# chown root:named example123.com.zone # 这一步一定要做
重启服务
[root@dns_server named]# service named restart
新增域名解析
如果我们要追加一个域的解析。比如google.com 则:
vi /etc/named.rfc1912.zones
// 添加下面这段
zone "google.com" IN {
type master;
file "google.com.zone";
};
[root@ns named]# cp -a example123.com.zone google.com.zone
[root@ns named]# vi google.com.zone
$TTL 86400
@ IN SOA ns.google.com. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum
@ IN NS ns.google.com.
ns IN A 192.168.1.219
www IN A 192.168.1.11
bbs IN A 192.168.1.46
ttt IN A 192.168.1.68
检查bind文件配置过程中容易出错
以下命令用以检查bind配置文件及zone文件语法
named-checkconf /etc/named.conf
没有报错即可
named-checkzone example123.cn /var/named/example123.cn.zone
配置完成之后重启服务
[root@dns_server named]# service named restart
添加防火墙规则
[root@iZbp1jd8gh3bm6ok1b5xkkZ web]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
[root@iZbp1jd8gh3bm6ok1b5xkkZ web]# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
[root@iZbp1jd8gh3bm6ok1b5xkkZ web]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
[root@iZbp1jd8gh3bm6ok1b5xkkZ web]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]