多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 安装 ``` yum install -y bind bind-utils bind-chroot ``` ### 常用命令 nslookup nsupdate dig host ### 更改配置 安装了bind-chroot后,named的根目录变成了/var/named/chroot,这样运行named更加安全 缺少一些配置文件,需要手动复制过去 #### 注意权限,named对配置文件需要可读 ``` cp -p /etc/named.* /var/named/chroot/etc ``` #### 注意权限,自己新建的zone如果需要更新,named对zone需要有权限 ``` cp -p /var/named/named.* /var/named/chroot/var/named ``` --- ## DNS缓存服务器 cache-only DNS DNS缓存服务器只负责缓存DNS记录,加快查询速度,本身并不做解析。 更改named.conf配置 ``` options { //listen-on port 53 { any; }; pid-file "/var/run/named/named.pid"; forward only; forwarders { 114.114.114.114; 8.8.8.8; }; //allow-query { 192.168.101.175; }; }; ``` ### 测试 启动named,将本机的/etc/resolve.conf中的nameserver改为本机ip,测试能否解析到百度的ip ``` host baidu.com ``` --- ## DNS服务器 DNS服务器用于解析域名 ### 更改named.conf配置 ``` options { listen-on port 53 { any; }; //指定端口,any表示本机所有网卡,也可以用0.0.0.0 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 { any; }; //=允许那些主机查询 recursion yes; dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; //未更改部分开始 省略若干行 //未更改部分结束 // 更新钥匙 key "dnskey" { algorithm HMAC-MD5; secret "tr6mcMrF3nCloG2nUBRo4C7k9pnVcjmqfNVa5kHLerZYOW7Xes/IW5GK yQMFYOgdZfuevjOlHJjg1h0qVn7k7w=="; }; zone "hi.com" IN { type master; file "hi.com.zone"; allow-update { key "dnskey"; }; //允许拥有key的用户进行DNS更新 }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";`` ``` ### zone文件 ``` $TTL 86400 ; 1 day hi.com IN SOA ns.hi.com. root.hi.com. ( 1 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) NS ns.hi.com. ns A 192.168.101.200 s A 192.168.101.3 A 192.168.101.2 ``` ### 测试 测试域名能否解析到指定IP ``` host ns.hi.com 127.0.0.1 ``` ### 更新解析记录 nsupdate 生成更新密钥,分为公钥和私钥 ``` dnssec-keygen -a HMAC-MD5 -b 512 -n HOST -r /dev/urandom dnskey ``` -a指定加密算法 -b指定加密位数 -h指定加密方法 -r指定随机数,加快密钥生成速度 #### 更新文件格式 ``` server 127.0.0.1 debug yes zone hi.com. update delete s.hi.com. A update add s.hi.com 86400 A 192.168.101.3 update add s.hi.com 86400 A 192.168.101.2 show send ``` #### 执行更新 ``` nsupdate -k Kdnskey.+157+32277.key update.txt ```