【搭建公司内网DNS解析服务器-奶爸级】

奶爸级教程:公司内网DNS服务器搭建
本文详细介绍了如何在Linux上搭建内网DNS解析服务器,包括关闭防火墙和SELINUX、安装bind服务、配置DNS域名解析、设置客户端DNS及测试解析。通过一步步操作,实现DNS域名解析并添加域名热加载功能。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文采用单机部署,不涉及主从DNS服务器部署

概念

DNS 记录类型:DNS 域名数据库由资源记录和区文件指令组成。
SOA 记录:起始授权机构记录,SOA 备注说明了众多 NS(name server)记录中谁是主名称服务器,不参与功能,但是不能缺少。
NS 记录:域授权记录,当请求到达根域的时候,通过 NS 记录找到对应的域。
A 记录:当通过 NS 记录到达域以后,比如访问 www.baidu.com,通过 NS 我们找到了 baidu.com,此时就需要通过 A 记录找到 www。
MX:将该域下的所有邮件服务器地址指向邮件服务器。
AAAA 记录:A 记录处理 IPV4,AAAA 处理 IPV6。
PTR 记录:反向解析,将 IP 解析成域名。
CNAME:别名记录,允许多个名字映射到另外一个域名。比如我们 ping 百度的时候可以发现返回其实是 www.a.shifen.com 这个域名返回。所有 www.baidu.com 其实是个别名。

一、关闭防火墙、SELINUX

关闭防火墙或者开放特定端口
关闭防火墙:

systemctl stop firewalld

开放53端口:

firewall-cmd --zone=public --add-port=53/tcp --permanent

IP说明:
DNS主服务器:192.168.111.199 Centos7
客户机:192.168.16.233 Centos7

二、DNS 服务器安装过程

1.DNS 服务器安装 bind 服务

代码如下:

yum -y install bind-utils bind bind-devel bind-libs

2.配置主配置文件:/etc/named.conf

代码如下:
forwarders记得添加网关

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; };
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
    forwarders { 192.168.111.1;8.8.8.8;114.114.114.114; };
};
​
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
​
zone "." IN {
    type hint;
    file "named.ca";
};
​
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

3.加域名解析入口配置:/etc/named.rfc1912.zones

zone "cs.com" IN {           
        type master;
        file "cs.com.zone";  # 配置文件为 cs.com.zone,该文件目录为 /var/named/ 下
};

4.配置单独的解析文件

cd /var/named/
cp named.localhost cs.com.zone  
chown named.named cs.com.zone

5.修改配置:cs.com.zone


$TTL 1D                                         ;TTL 修改配置生效时间,默认为一天
@       IN SOA  @ rname.invalid. (
                                        0       ; serial,配置编号,每次改完配置 +1,这样从服务器就知道更新配置
                                        1D      ; refresh,从服务器刷新时间,默认一天刷新一次
                                        1H      ; retry,如果刷新失败,默认1小时重试一次
                                        1W      ; expire,缓存过期时间,一周
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
www     IN A       192.168.111.199

6.启动服务测试:

systemctl start named
systemctl enable named

7.查看端口

netstat -tlunp | grep 53

结果:在这里插入图片描述
可以看到除了服务本身的 53 端口外,也监听了 953,这是 dns 服务的一个插件

8.本机测试解析

dig @127.0.0.1 www.cs.com

结果如图
在这里插入图片描述

9.两种检查配置的方法

# 检查主配置
named-checkconf /etc/named.conf
# 检查 zone 配置
named-checkzone cs.com /var/named/cs.com.zone

结果如下:
在这里插入图片描述

10.Linux客户端修改 DNS 配置测试,修改网卡 DNS 配置重启网卡:

注意:进入/etc/sysconfig/network-scripts/ifcdf-ens??修改网卡DNS配置时本机IP首选
在这里插入图片描述

在这里插入图片描述

11.Windows客户端修改 DNS 配置测试:

1.点击网络和Internet设置
在这里插入图片描述
2.点击更改适配器选项
在这里插入图片描述
3.右键点击属性
在这里插入图片描述
4.点击IPv4 点击属性
在这里插入图片描述
5.设置首选DNS服务器
在这里插入图片描述

6.ping客户机域名
在这里插入图片描述

三、实现DNS域名解析之添加域名热加载

添加新的域名要重新加载才能生效,可以重启named服务,我们这边采用热加载命令

修改文件添加新域名:

vi /var/named/cs.com.zone

在这里插入图片描述

重新加载,更改生效,命令如下:

rndc reload 或 systemctl reload named

总结

如果无法ping通,多检查配置文件和DNS文件是否正确

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值