centos7 下搭建DNS服务器(bind)
Posted Kevin学习记录
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 下搭建DNS服务器(bind)相关的知识,希望对你有一定的参考价值。
一:项目环境:
主机 | 角色 | IP地址 | 功能 |
---|---|---|---|
dns.kevin.com | DNS服务器 | 192.168.100.10 | 提供域名解析 |
win.kevin.com | DNS客户端 | 192.168.100.20 | 测试域名解析是否正常 |
www.kevin.com | WEB服务器 | 192.168.100.30 | 站点服务器 |
blog.kevin.com | FTP服务器 | 192.168.100.40 | 博客服务器 |
二:dns服务器配置
i :配置正向解析:
- 基础环境配置
[root@kevin ~]# hostname
kevin
[root@kevin ~]# getenforce
Disabled
[root@kevin ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@kevin ~]#
2.安装DNS 服务器软件,并启动
[root@kevin ~]# yum install -y bind
[root@kevin ~]# systemctl start named
3.主配置文件/etc/named.conf,DNS服务的全局配置文件。
为了安全,在修改之前先备份该文件。该文件的属组比较特殊,属于named组
[root@kevin ~]# cp -p /etc/named.conf /etc/named.conf.bak
4.修改主配置文件named.conf:13行:监听地址 21行:允许利用本服务器查询的客户机地址
均修改为any
[root@kevin ~]# vi /etc/named.conf
listen-on port 53 any; ;
allow-query any; ;
5.修改区域配置文件/etc/named.rfc1912.zones,该文件用于说明哪个区域的数据存放在哪个文件里。 仿照该文件已有内容的格式,在文件末尾新增一个正向查找区域kevin.com,类型是主要区域,数据是kevin.com.zone;
[root@kevin ~]# vi /etc/named.rfc1912.zones
zone "kevin.com" IN
type master;
file "kevin.com.zone";
allow-update none; ;
;
6.根据第5步,添加正向区域数据文件。数据文件无需新建,可以根据/var/named 目录下提供的文件named.localhost进行复制命名为kevin.com.zone并修改。 将kevin.com.zone内容修改为:
[root@kevin ~]# cp -p /var/named/named.localhost /var/named/kevin.com.zone
[root@kevin ~]# vi /var/named/kevin.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.100.10
dns IN A 192.168.100.10
win IN A 192.168.100.20
www IN A 192.168.100.30
blog IN A 192.168.100.40
AAAA ::1
7.重新加载DNS服务的配置文件
[root@kevin ~]# rndc reload
server reload successful
[root@kevin ~]#
若是加载失败,可使用named-checkconf /etc/named.conf和named-checkzone kevin.com /var/named/kevin.com.zone检查是何处出了错误
[root@kevin ~]# named-checkconf /etc/named.conf
[root@kevin ~]# named-checkzone kevin.com /var/named/kevin.com.zone
zone kevin.com/IN: loaded serial 0
OK
8.完成后,可首先在DNS服务器本地进行测试,修改/etc/resolv.conf,将DNS服务器的地址(即服务器本机地址)写入:
(bind-utils)是DNS服务器的辅助工具包,比如dig主要用来从 DNS 域名服务器查询主机地址信息,可以用来测试域名系统工作是否正常。
或者nslookup等工具
[root@kevin ~]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
[root@kevin ~]# yum install bind-utils
[root@kevin ~]# dig www.kevin.com @192.168.100.10
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.kevin.com @192.168.100.10
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62498
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.kevin.com. IN A
;; ANSWER SECTION:
www.kevin.com. 86400 IN A 192.168.100.30
;; AUTHORITY SECTION:
kevin.com. 86400 IN NS kevin.com.
;; ADDITIONAL SECTION:
kevin.com. 86400 IN A 192.168.100.10
;; Query time: 0 msec
;; SERVER: 192.168.100.10#53(192.168.100.10)
;; WHEN: 六 12月 18 14:48:23 CST 2021
;; MSG SIZE rcvd: 88
9:本地测试访问正常,在其他客户机上将网卡的首选 DNS 服务器地址调整为上述表格里设置的DNS服务器地址,再查询相关的记录:
C:\\Users\\Kevin>nslookup
默认服务器: UnKnown
Address: 192.168.100.10
> www.kevin.com
服务器: UnKnown
Address: 192.168.100.10
名称: www.kevin.com
Address: 192.168.100.30
> blog.kevin.com
服务器: UnKnown
Address: 192.168.100.10
名称: blog.kevin.com
Address: 192.168.100.40
>
目前实现了可以通过主机名查询主机对应的 IP 地址,但是通过 IP 地址查询对应的主机名还不能完成,因为没有配置反向查找区域。
ii :配置反向解析
1.主要思路同正向查找区域配置。主配置文件已无需修改。 修改辅助配置文件,在文末新增一个反向查找区域,注意反向查找区域名称的命名格式:
[root@kevin ~]# vi /etc/named.rfc1912.zones
zone "100.168.192.in-addr.arpa" IN
type master;
file "192.168.100.arpa";
allow-update none; ;
;
2.复制反向解析文件模板进行修改:
[root@kevin ~]# cp -p /var/named/named.loopback /var/named/192.168.100.arpa
[root@kevin ~]# vi /var/named/192.168.100.arpa
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.kevin.com.
dns IN A 192.168.100.10
10 IN PTR dns.kevin.com.
20 IN PTR win.kevin.com.
30 IN PTR www.kevin.com.
40 IN PTR blog.kevin.com.
重载配置文件:
[root@kevin ~]# systemctl restart named
[root@kevin ~]# rndc reload
server reload successful
3:在客户机测试反向解析是否正确:
C:\\Users\\Kevin>nslookup
默认服务器: dns.kevin.com
Address: 192.168.100.10
> 192.168.100.30
服务器: dns.kevin.com
Address: 192.168.100.10
名称: www.kevin.com
Address: 192.168.100.30
> 192.168.100.40
服务器: dns.kevin.com
Address: 192.168.100.10
名称: blog.kevin.com
Address: 192.168.100.40
>
三:配置主从服务器:
通过前面的操作,DNS主服务器已经配置完毕并能正常工作。启动第2台CentOS主机,将其配置为第1台DNS服务器的从服务器,使得第1台主机上DNS数据能通过网络传输到第2台。
1:编辑/etc/named.conf文件,修改监听IP地址为any
vi /etc/named.conf
listen-on port 53 any; ;
allow-query any; ;
2:编辑/etc/named.rfc1912.zones,建立或从第1台主机复制所需要的正向/反向查找区域文件(从服务器的区域解析库文件应当是从主服务器加载过来的,所以无需创建区域解析库文件。),并修改内容,将type类型改为slave
[root@likevin ~]# vi /etc/named.rfc1912.zones
zone "kevin.com" IN
type slave; //类型
masters 192.168.100.10;; //主机
file "slaves/kevin.com.zone"; //配置文件存放地点和名称
masterfile-format text; //文档类型
;
zone "100.168.192.in-addr.arpa" IN
type slave;
masters 192.168.100.10;;
file "slaves/192.168.100.arpa";
masterfile-format text;
;
3:重启named服务,检查下slaves文件夹下有没有从主机传送来的文件
[root@likevin ~]# systemctl restart named
[root@likevin ~]# rndc reload
server reload successful
[root@likevin ~]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 517 12月 18 16:14 192.168.100.arpa
-rw-r--r-- 1 named named 349 12月 18 16:14 kevin.com.zone
[root@likevin ~]# vi /var/named/slaves/192.168.100.arpa
$ORIGIN .
$TTL 86400 ; 1 day
100.168.192.in-addr.arpa IN SOA 100.168.192.in-addr.arpa. rname.invalid. (
0 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS dns.kevin.com.
$ORIGIN 100.168.192.in-addr.arpa.
10 PTR dns.kevin.com.
20 PTR win.kevin.com.
30 PTR www.kevin.com.
40 PTR blog.kevin.com.
dns A 192.168.100.10
[root@likevin ~]# vi /var/named/slaves/kevin.com.zone
$ORIGIN .
$TTL 86400 ; 1 day
kevin.com IN SOA kevin.com. rname.invalid. (
0 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS kevin.com.
A 192.168.100.10
$ORIGIN kevin.com.
blog A 192.168.100.40
dns A 192.168.100.10
win A 192.168.100.20
www A 192.168.100.30
以上是关于centos7 下搭建DNS服务器(bind)的主要内容,如果未能解决你的问题,请参考以下文章