1.概念

DNS(Domain Name System,域名系统)是互联网中用于将域名(Domain Name)转换为IP地址(Internet Protocol Address)的核心系统。

正向解析是指将域名转换为对应的IP地址的过程

反向解析则是指将IP地址转换为其对应域名的过程

主机名 IP地址 操作系统版本 bind版本
dns-node 192.168.100.5 CentOS 7.9 9.11.4

2.安装DNS

yum install -y bind  bind-utils

3.修改配置文件

perl -0777 -pe 's|/\*.*?\*/||gs; s|//.*||g' /etc/named.conf | grep -v '^\s*$'
options {listen-on port 53 { 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";recursing-file  "/var/named/data/named.recursing";secroots-file   "/var/named/data/named.secroots";allow-query     { any; };recursion yes;dnssec-enable yes;dnssec-validation yes;bindkeys-file "/etc/named.root.key";managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};
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";

4.正向解析

perl -0777 -pe 's|/\*.*?\*/||gs; s|//.*||g' /etc/named.rfc1912.zones | grep -v '^\s*$'
zone "localhost.localdomain" IN {type master;file "named.localhost";allow-update { none; };
};
zone "localhost" IN {type master;file "named.localhost";allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {type master;file "named.loopback";allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {type master;file "named.loopback";allow-update { none; };
};
zone "0.in-addr.arpa" IN {type master;file "named.empty";allow-update { none; };
};
zone "gsxp.com" IN {type master;file "gsxp.com.zone";allow-update { none; };
};
cat > /var/named/gsxp.com.zone << 'EOF'
$TTL 1D
@       IN      SOA     gsxp.com. xiep.sgcc.com.cn. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns.gsxp.com.
ns      IN      A       192.168.100.129
mail    IN      A       192.168.100.128
EOF
chown root:named gsxp.com.zone

5.反向解析

erl -0777 -pe 's|/\*.*?\*/||gs; s|//.*||g' /etc/named.rfc1912.zones | grep -v '^\s*$'
zone "localhost.localdomain" IN {type master;file "named.localhost";allow-update { none; };
};
zone "localhost" IN {type master;file "named.localhost";allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {type master;file "named.loopback";allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {type master;file "named.loopback";allow-update { none; };
};
zone "0.in-addr.arpa" IN {type master;file "named.empty";allow-update { none; };
};
zone "gsxp.com" IN {type master;file "gsxp.com.zone";allow-update { none; };
};
zone "100.168.192.in-addr.arpa" IN {type master;file "192.168.100.arpa";allow-update { none; };
};
cat > /var/named/192.168.100.arpa << 'EOF'
$TTL 1D
@       IN      SOA     gsxp.com. xiep.sgcc.com.cn. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns.gsxp.com.
ns      A       192.168.100.129
129     PTR     ns.gsxp.com.
128     PTR     mail.gsxp.com.
EOF
chown root:named 192.168.100.arpa

6.启动服务

systemctl start named
systemctl enable named
systemctl status named

7.测试

测试(ns)正向解析

nslookup ns.gsxp.com

结果如下

Server:		192.168.100.129
Address:	192.168.100.129#53Name:	ns.gsxp.com
Address: 192.168.100.129

测试(mail)正向解析

nslookup mail.gsxp.com

结果如下

Server:		192.168.100.129
Address:	192.168.100.129#53Name:	mail.gsxp.com
Address: 192.168.100.128

测试(ns)反向解析

nslookup 192.168.100.129

结果如下

129.100.168.192.in-addr.arpa	name = ns.gsxp.com.

测试(mail)反向解析

nslookup 192.168.100.128

结果如下

128.100.168.192.in-addr.arpa	name = mail.gsxp.com.