Linux服务器DNS服务器配置实现bind的正向解释和反向解释
# 关闭防火墙-配置前可以先关闭。
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]#
# 配置域名
www.liupei.com - 这就是我们要配置的域
主域名:www.liupei.com - 192.168.31.132
邮件域名:mail.liupei.com - 192.168.31.31
harbor域名:harbor.liupei.com - 192.168.31.132
# 安装 bind
[root@localhost ~]# yum install bind-chroot -y
# 配置文件
1.配置端口全局的东西
[root@localhost etc]# vim /etc/named.conf
2.声明域的文件,DNS对那几个进行了解释就在这里声明一下。
[root@localhost etc]# vim /etc/named.rfc1912.zones
3.自定义的zones文件一定要与named.rfc1912.zones 这个文件一个名字一致
# 正向解释和反向解释
1.正向解释
mail.liupei.com -> 192.168.31.31
2.反向解释
192.168.31.31 -> mail.liupei.com
# 先配置正向解释
1.修改:修改成any,监听自己以及以外的IP。
listen-on port 53 { 127.0.0.1; }; -> listen-on port 53 { any; };
2.修改:修改的访问权限表示任意服务器都可以访问。
allow-query { localhost; }; -> allow-query { any; };
[root@localhost named]# vim /etc/named.conf
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; /* Path to ISC DLV key */ bindkeys-file "/etc/named.root.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; };
# 修改完保存
# 接着声明域
[root@localhost named]# vim /etc/named.rfc1912.zones
# 添加配置如下:
# type master; #表示主的DNS服务器
# file "liupei.com.zone"; 数据路文件
zone "liupei.com" IN { type master; file "liupei.com.zone"; allow-update { none; }; };
# 配置好保存就可以
# 接着创建数据文件
[root@localhost named]# cd /var/named/
[root@localhost named]# ls
chroot data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]#
# 复制一个模板出来
[root@localhost named]# cp -a named.localhost liupei.com.zone
# 要是使用 -a 把权限组也复制过来,named.localhost这个文件是root也是named组,DNS就没有权限,
# 要把 named组也跟着复制
[root@localhost named]# ll total 20 drwxr-x---. 7 root named 61 May 19 23:41 chroot drwxrwx---. 2 named named 6 Feb 23 09:17 data drwxrwx---. 2 named named 6 Feb 23 09:17 dynamic -rw-r-----. 1 root named 152 Jun 21 2007 liupei.com.zone -rw-r-----. 1 root named 2253 Apr 5 2018 named.ca -rw-r-----. 1 root named 152 Dec 15 2009 named.empty -rw-r-----. 1 root named 152 Jun 21 2007 named.localhost -rw-r-----. 1 root named 168 Dec 15 2009 named.loopback drwxrwx---. 2 named named 6 Feb 23 09:17 slaves
# 接着编辑这个文件
[root@localhost named]# vim liupei.com.zone
# $TTL 1D 生成周期 1D 就是一天
# 这个是管理员的邮箱地址 rname.invalid. 例如:root@liupei.com. 这样写会报错把@修改成 .
# 因为各式特殊 不能用 @ 所以用 “ . ”
# 可以用 IN A 简写 A 效果一样
# 接着配置 A解析
# 如果不作为邮件服务器这行可以去掉 MX 10 mail.liupei.com.
# 源文件
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 ~
# 修改后的
$TTL 1D @ IN SOA liupei.com. root.liupei.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS liupei.com. A 192.168.31.132 AAAA ::1 MX 10 mail.liupei.com. mail A 192.168.31.31 harbor A 192.168.31.132
# 接着开启和停止
[root@localhost named]# service named stop
Redirecting to /bin/systemctl stop named.service
[root@localhost named]# service named start
Redirecting to /bin/systemctl start named.service
# 接着修改 DNS配置为 192.168.31.132 本机IP
# 测试
[root@localhost named]# nslookup mail.liupei.com
Server: 192.168.31.132
Address: 192.168.31.132#53
Name: mail.liupei.com
Address: 192.168.31.31
######## 正向结果就没有问题了
# 反向解析
# 编辑
[root@localhost named]# vim /etc/named.rfc1912.zones
# 这个IP需要反着写(192.168.31.132):31.168.192
# file "192.168.31.132.zone"; 这个就正着写就可以
zone "31.168.192.in-addr.arpa" IN {
type master;
file "192.168.31.132.zone";
allow-update { none; };
};
[root@localhost named]#
# 写完保存
# 接着复制
[root@localhost named]# cp -a named.loopback 192.168.31.132.zone192.168.31.132
# 测试是否修改
[root@localhost named]# service named restart
# 编辑解析文件
[root@localhost named]# vim 192.168.31.132.zone
# ipv6可以删除 PTR localhost.
# 5 和 6 表示服务器的意识也可以自己定义
# PTR 表示指针的意识,表示指向哪一台服务器
# 源文件
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 PTR localhost.
# 修改文件
$TTL 1D @ IN SOA liupei.com. root.liupei.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS liupei.com. A 192.168.31.132 MX mail.liupe.com. AAAA ::1 5 PTR mail.liupei.com. 6 PTR harbor.liupei.com.
~
# 下面是准备文件作为参考
##########################
mail A 172.168.15.5
web A 172.168.15.6
ftp A 172.168.15.7
$TTL 1D
@ IN SOA liupei.com. root.liupei.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS liupei.com.
A 192.168.31.132
MX mail.liupe.com.
AAAA ::1
5 PTR mail.liupei.com.
6 PTR harbor.liupei.com.
##########################