话说Linux中,关于DNS要学的好多好多,今天先从DNS的安装与简单配置说起!
先来简单回顾一下基础知识:
递归:本地域名服务器只发一个请求到根,然后就赖上根服务器了,不给它最终结果它就赖着不走了。
迭代:根只会告诉本地域名服务器去顶级,但是要自己发请求报文。顶级只会告诉本地域名服务器该去二级查,也需要自己去发报文,依次类推。所以本地域名服务器要查询多次。
DNS的安装与简单配置:
1、安装DNS服务
yum install bind
2、让服务开机运行
chkconfig named on
3、修改此配置文件中带注释的部分
vi /etc/named.conf
[named.conf]
options {
listen-on port 53 ; #DNS服务器地址和侦听的端口,若写IP地址,IP地址就不能改变,这里边我们填写any,使任何地址都可以。
listen-on-v6 port 53 { ::1; };
directory "/var/named";
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 { 192.168.70.0/24; 192.168.80.0/24; }; #允许DNS解析的网段。
recursion yes; #是否允许DNS支持递归查询
#是否允许安全的DNS查询,改成NO,一般互联网上都不支持安全的DNS查询(我用的是CentOS6.9,有的版本这个选项可能有三条)
dnssec-enable no;
dnssec-validation no;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
4、重启DNS服务
service named restart
PS:
启动或重启DNS服务时,卡在Generating /etc/rndc.key:上很长时间
解决方法:
执行以下命令:
rndc-confgen -r /dev/urandom -a
然后再重启DNS服务:
service named start
服务正常
5、查看服务的启动进程
ps -eaf grep named
6、查看DNS侦听的端口
netstat -an grep :53
7、查看DNS启动日志
cat /var/named/data/named.run
8、查看named服务启动过程
tail -n 30 /var/log/messages grep named
PS:这时候你可以用客户机指向这个DNS通过ping命令测试DNS是否能解析互联网上的域名,如果解析不成功,请在iptables里加入规则
9、在iptables加入规则使DNS可用
iptables -I INPUT -p tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
10、保存防火墙配置,重启防火墙服务
/sbin/service iptables save
service iptables restart
领取专属 10元无门槛券
私享最新 技术干货