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

相关推荐
lizhihai_9933 分钟前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
weixin_523185321 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
黄同学real1 小时前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
天天进步20151 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
My is 李豆2 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
凡人叶枫2 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽2 小时前
玩转RK3506SDK
linux·嵌入式硬件
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON2 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
酉鬼女又兒3 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘