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

相关推荐
吴声子夜歌8 小时前
Shell编程——if条件语句
linux·运维·shell
Dawn-bit9 小时前
Linux 运维基础扩展:跳板机、堡垒机与物理服务器全流程
linux·运维·服务器·云计算·运维开发
新时代牛马9 小时前
Linux 定时任务:crontab、anacron 与systemd timer
linux·运维·服务器
IT摆渡者9 小时前
1panel 配置申请手动解析网站SSL证书
服务器·网络协议·ssl
mounter6259 小时前
Linux 7.2 引入更灵活的块设备错误注入机制
linux·linux kernel·kernel·disk·error injection
疯狂打码的少年9 小时前
【计算机网络】子网掩码与子网划分计算(含CIDR表示法)
服务器·笔记·计算机网络·php
cpolar技术支持10 小时前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障
网硕互联的小客服10 小时前
怎样在CMD里用chkntfs /x C: 命令来取消磁盘自检?——原理与实践全解
运维·服务器·网络
布莱克60510 小时前
Linux 常用命令详解:从入门到实战
linux·运维·服务器
朽棘不雕11 小时前
可执行程序的格式
linux