CentOS7 安装并配置本地 DNS 服务器

环境:CentOS7

安装 Bind

1
yum -y install bind

主配置文件

1
vim /etc/named.conf

any 表示任意 ip 这
image

区域配置

1
vim /etc/named.rfc1912.zones

在末尾添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 正向解析区域
// type:区域类型是主服务器
// file:区域数据配置文件,正向通常以zone结尾
zone "feng.io" IN {
type master;
file "feng.io.zone";
allow-update { none; };
};

// 反向解析区域
// 反向解析命名格式:网段倒过来+.in-addr.arpa
// file:反向通常以local结尾
zone "139.168.192.in-addr.arpa" IN {
type master;
file "feng.io.local";
};

正向区域数据文件

以默认配置文件做模版,复制一份出来进行配置

1
2
3
4
5
6
cd /var/named

cp -p named.localhost feng.io.zone

# 修改配置文件
vim feng.io.zone

A (Address) 记录是用来指定主机名(或域名)对应的 IP 地址记录

1
www     IN      A       192.168.139.100

image

反向区域数据文件

1
2
3
4
5
cd /var/named
cp -p named.localhost feng.io.local

# 修改配置文件
vim feng.io.local
  • 100 对应的是 192.168.139.0/24 的主机位
  • 注意:域名后面有个点
    1
    100     IN      PTR     www.feng.io.
    image

配置 DNS 解析器

1
vim /etc/resolv.conf

添加以下内容:

1
nameserver 192.168.139.100

image

启动 Bind

1
2
systemctl start named
systemctl enable named

如果启动出现以下情况
image

查看当前服务状态

1
systemctl status named

请检查你的配置文件是否正确

1
named-checkconf -z "$NAMEDCONF"

关闭防火墙

1
2
systemctl stop firewalld
systemctl enable firewalld

禁用 Selinux

1
vim /etc/selinux/config

修改为 disabled

1
SELINUX=disabled

image-20220115224249332

注意:上面配置是重启后才生效,所以需要临时关闭 selinux 防火墙

1
setenforce  0

测试

nslookup 测试

安装软件包

1
yum -y install bind-utils
  1. 测试正向解析

    1
    nslookup www.feng.io

    image

  2. 测试反向解析

    1
    nslookup 192.168.139.100

    image

客户端测试

创建一台客户机并配置好 IP

  1. 安装软件包
    1
    yum -y install bind-utils net-tools 
  2. 修改网卡 DNS
    1
    vim /etc/sysconfig/network-scripts/ifcfg-ens33

将 DNS1 服务器地址修改为本地 DNS 服务器
image

重启网卡

1
systemctl restart network
  1. nslookup 测试
1
2
nslookup www.feng.io
nslookup 192.168.139.100

image