CentOS搭建DNS服务器

服务器规划

DNS服务器IP为:172.16.32.253

需要自定义域名解析

172.16.32.253 dns.zhangsan.com

172.16.32.128 test1.zhangsan.com

172.16.32.129 test2.zhangsan.com

172.16.32.130 www.zhangsan.com

1. 服务器初始化

root@localhost \~# hostnamectl set-hostname dns && bash - - 修改主机名并立即生效

root@dns \~# vim /etc/sysconfig/network-scripts/ifcfg-ens32 - - 修改IP为静态IP

root@dns \~# service network restart - - 重启网络服务

2. bind软件安装

root@dns \~# yum -y install bind bind-utils

如果安装时候解析域名失败,大概率是服务器设置的DNS地址为当前地址,导致无法正常解析,故需临时对DNS配置进行修改,具体如下:

root@dns \~# vim /etc/resolv.conf

配置互联网解析服务器,优点是正常dns会走常规解析,本地DNS服务器上配置的域名解析走内部

3. 修改配置文件

bind安装完成后,开始对默认配置文件进行修改

3.1 修改named.conf

root@dns \~# 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; }; # 修改处

修改后:

3.2 修改named.rfc1912.zones

root@dns \~# vim /etc/named.rfc1912.zones

新增配置

复制代码
zone "zhangsan.com" IN {
        type master;
        file "zhangsan.com.zone";
        allow-update { any; };
};

zone "32.16.172.in-addr.arpa" IN {
        type master;
        file "172.16.32.zone";
        allow-update { any; };
};

3.3 新增文件zhangsan.com.zone

正向代理文件

利用默认配置文件,生成配置文件

root@dns \~# cd /var/named/

root@dns named# cp -a named.localhost zhangsan.com.zone

root@dns named# vim zhangsan.com.zone

复制代码
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
dns     A       172.16.32.253
test1   A       172.16.32.128
test2   A       172.16.32.129
www     A       172.16.32.130

3.4 新增文件172.16.32.zone

反向代理文件

root@dns \~# cd /var/named/

root@dns named# cp -a named.loopback 172.16.32.zone

root@dns named# vim 172.16.32.zone

复制代码
$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.
253     PTR     dns.zhangsan.com.
128     PTR     test1.zhangsan.com.
129     PTR     test2.zhangsan.com.
130     PTR     www.zhangsan.com.

4. 重启named服务

root@dns named# systemctl restart named

5. 验证

5.1 DNS服务器验证



由于演示环境中,服务器为最小化安装,故无网络限制,若安装有防火墙,需将DNS服务器防火墙关闭,或者将DNS服务器的53端口放行。
否则其他服务器无法正常使用该DNS进行解析。

5.2 新增服务器验证

新增同网段服务器(172.16.32.132),在该服务器上配置DNS为本地DNS域名解析服务器(172.16.32.253),再测试对上述网址进行解析

本地域名解析服务器未配置的常规解析

至此,在CentOS服务器上搭建本地DNS服务器即完成。

复制代码
备注:
可通过以下命令检测named.conf是否存在异常
[root@dns named]# named-checkconf
没有内容显示为正常

Windows Server搭建DNS服务器详见:https://blog.csdn.net/ym5209999/article/details/135689588

相关推荐
测试界的小码农2 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
艺杯羹3 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
一条破秋裤4 小时前
【1114】【并发控制】【笔记】
linux
2035去旅行5 小时前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康5 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡5 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽5 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
爱和冰阔落10 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall12 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy12 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑