bind-dns服务器搭建
- 环境:主服务器上IP为192.168.159.30
- 安装相关包bind dns服务器 bind-utils提供nslookup dig等命令
yum -y install bind bind-utils
- 配置/etc/named.conf
vim /etc/named.conf options { listen-on port 53 { any; }; //listen-on-v6 port 53 { ::1; }; 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 { localhost; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人 allow-query { any; }; recursion yes; #dns服务器 引起流量不正常,解决 关闭递归查询 yes 改为no dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; #日志文件 基于/var/named 实际路径/var/named/data/named.run; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; //配置域名解析主文件 include "/etc/named.root.key";
- 检查/etc/named.conf配置是否有错误、没有任何输出说明配置正确
named-checkconf
- 配置域名解析主文件
cat /etc/named.rfc1912.zones zone "pccb.com" IN { // 定义要解析主域名,正解析 type master; file "pccb.com.zone"; // 具体相关解析的配置文件保存在 /var/named/pccb.com.zone 文件中 }; zone "159.168.192.in-addr.arpa" IN { // 反解析配置格式一定是这样,服务器ip的前3段倒着写。只能解析同一网段的域名 type master; file "159.168.192.zone"; // 具体相关解析的配置文件保存在 /var/named/ 文件夹中 };
- 配置pccb.com.zone正解析文件
cat /var/named/pccb.com.zone //这里面的@ 即要解析的pccb.com,ip除了ns.pccb.com的ip为 dns服务器的ip外 其它域名解析的ip随便写都能解析。 $TTL 1D @ IN SOA @ admin.pccb.com. ( //管理员邮箱 admin@pccb.com 2016071001 ; serial //随便一个数字、以日期形式最好 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.pccb.com. //dns服务器域名(NS) ns IN A 192.168.159.30 //即dns服务器的ip 如果有对外提供解析需要配置 IN MX 5 mail.pccb.com. //mail服务器域名(MX) mail IN A 192.168.11.160 //即mail服务器的ip 如果有对外提供邮件需要配置 test IN A 12.12.12.12 //测试A记录 test.pccb.com的ip bbs IN CNAME www.pccb.com. //cname bbs.pccb.com的cname www IN A 11.111.11.1 //www.pccb.com的ip //例子,不能用上面的 因为注释会报错 【主要用的是A纪录】 $TTL 1D @ IN SOA @ admin.pccb.com. ( 2016071001 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.pccb.com. ns IN A 192.168.159.30 IN MX 5 mail.pccb.com. mail IN A 192.168.159.31 test IN A 192.168.159.32 bbs IN CNAME www.pccb.com. www IN A 159.168.159.33
- 检查文件语法是否有误
named-checkzone "pccb.com" /var/named/pccb.com.zone
输出如下:
zone pccb.com/IN: loaded serial 2016071001
OK
- 启动
/etc/init.d/named start
- 测试正解析
dig @192.168.159.30 test.pccb.com #查看域名解析详细,192.168.159.30是dns服务器的ip nslookup test.pccb.com #查看域名解析 //配置服务器dns cat /etc/resolv.conf nameserver 192.168.159.30 #这个就是我们的dns服务器解析 nameserver 114.114.114.114 ping test.pccb.com #正常解析 解析ip为192.168.159.32
- 配置反解析
cat /var/named/159.168.192.zone $TTL 1D @ IN SOA @ admin.pccb.com. ( 2016071001 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.pccb.com. 30 IN PTR ns.pccb.com.
- 测试反解析
dig @192.168.159.30 -x 192.168.159.32 #前面个ip 是用哪个dns来解析 后面ip是要解析的ip(解析出来是test.pccb.com)
- 主从未测试过 https://note.youdao.com/share/?id=c6a6ae4d3205b5925bf395c7a60509a1&type=note#/