当前位置: 首页 > news >正文

CentOS7安装DNS服务器bind

文章目录

  • 安装DNS服务
  • 设置配置文件
  • 自定义域名解析
  • 完整配置

需求是公司内网服务器无法连接外网,需要在本地搭建DNS服务,这样物理机器迁移到内网后,通过域名解析访问服务

DNS服务器 172.25.14.215

ip域名
172.25.14.216mysql.server
172.25.14.217redis.server
172.25.14.218kafka.server

安装DNS服务

yum update -y
yum install bind bind-utils -y

设置配置文件

vim /etc/named.conf

options {
    listen-on port 53 { any; }; // 监听所有IPv4接口上的53端口
    listen-on-v6 port 53 { ::1; }; // 监听IPv6本地回环地址上的53端口
    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";
    allow-query     { any; }; // 允许任何主机发送查询请求

    recursion no; // 禁止递归查询(如果作为权威DNS服务器)

    dnssec-enable yes;
    dnssec-validation yes;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";
};

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";

修改允许的连接为所有
在这里插入图片描述

# 启动服务
systemctl start named

# 设置开机自启
systemctl enable named

# 开放DNS防火墙,允许DNS流量通过
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload

切换DNS前服务无法正常访问
在这里插入图片描述

由于默认设置了recursion yes为yes,表示允许DNS递归查询,通过172.25.14.215的DNS再次进行查询

所以切换DNS后服务器正常访问(这个看业务需求是否关闭DNS递归查询)
在这里插入图片描述


自定义域名解析

vim /etc/named.conf添加server域名的解析

zone "server" IN {
    type master;
    file "/var/named/server.zone";
    allow-update { none; };
};

告诉BIND你有一个名为server的主区域,其区域数据文件位于/var/named/server.zone

$TTL 86400
@   IN  SOA ns1.server. admin.server. (
            2025031301 ; 序列号
            3600       ; 刷新时间
            1800       ; 重试时间
            1209600    ; 过期时间
            86400 )    ; 最小TTL

; 定义名称服务器
@       IN  NS      ns1.server.

; 将ns1.server.mysql指向具体的IP地址
ns1     IN  A       192.168.1.10

; 解析server.mysql到指定的IP地址
@       IN  A       192.168.1.11

; 定义其他子域或服务的A记录
www     IN  A       192.168.1.12
ftp     IN  A       192.168.1.13

; 定义邮件交换记录(MX)
@       IN  MX  10  mail.server.

; 定义mail.server.mysql的A记录
mail    IN  A       192.168.1.14

参数解释
$TTL 86400:设置默认的TTL(生存时间),表示该区域中所有资源记录在缓存中的有效期,默认为86400秒(即1天)。可以被单个记录中的TTL覆盖。

SOA记录

  • @ IN SOA ns1.server.mysql. admin.server.mysql. ( ... )
  • @ 表示当前域(本例中是server.mysql)
  • IN 表示Internet类记录
  • SOA 是Start of Authority的缩写,标记了权威开始的记录
  • ns1.server.mysql. 是主名称服务器的名字
  • admin.server.mysql. 是负责该区域的管理员邮箱地址(注意,在这里使用.代替@)。
  • 接下来的括号内的数字分别是:
    • 序列号:每次更新区域文件时应该增加这个值,以通知从服务器同步新的数据。
    • 刷新时间:从服务器等待多久后再次尝试与主服务器同步。
    • 重试时间:如果同步失败,从服务器等待多久后再进行重试。
    • 过期时间:如果无法联系上主服务器,从服务器继续使用过期数据的时间长度。
    • 最小TTL:设定该区域内所有记录的最小TTL值。

NS记录

  • @ IN NS ns1.server.mysql. 指定server.mysql的权威名称服务器是ns1.server.mysql.。

A记录

  • ns1 IN A 192.168.1.10 将主机名ns1映射到IP地址192.168.1.10
  • 同样地,其他A记录将不同的主机名映射到相应的IP地址。

MX记录

  • @ IN MX 10 mail.server.mysql. 定义了邮件交换服务器,优先级为10,指向mail.server.mysql.

完整配置

vim /etc/named.conf
在这里插入图片描述

vim /var/named/server.zone

$TTL 86400
@   IN  SOA ns1.server. admin.server. (
            2025031301 ; 序列号
            3600       ; 刷新时间
            1800       ; 重试时间
            1209600    ; 过期时间
            86400 )    ; 最小TTL

; 定义名称服务器
@       IN  NS      ns1.server.

; 将ns1.server指向具体的IP地址
ns1     IN  A       172.25.14.215

; 解析server到指定的IP地址
@       IN  A       172.25.14.215

; 定义其他子域或服务的A记录
www     IN  A       172.25.14.215
mysql   IN  A       172.25.14.216
redis   IN  A       172.25.14.217
kafka   IN  A       172.25.14.218

在这里插入图片描述

相关文章:

  • 为什么 NFS 不适合作为 TDengine 的数据存储
  • 在使用element-ui时表单的表头在切换页面时第一次进入页面容易是白色字体解决方法
  • SSR 框架是什么?
  • C#中继承的核心定义‌
  • 创新实践分享:基于边缘智能+扣子的智能取物机器人解决方案
  • PHP语言的开源贡献
  • MFCday01、模式对话框
  • 编译支持 RKmpp 和 RGA 的 ffmpeg 源码
  • 【面试】Redis
  • 数据类设计_图片类设计之5_不规则类图形混合算法(前端架构)
  • Git的详细使用方法
  • 【每日学点HarmonyOS Next知识】路由栈问题、图片圆角、颜色资源转十六进制字符串、数据集变化崩溃、组件声明周期
  • Selenium 中的 alert 处理
  • VLAN和Trunk实验
  • 套接字缓冲区以及Net_device
  • Unity开发的抖音小游戏接入抖音开放平台中的流量主(抖音小游戏接入广告)
  • 全面解析:将采购入库单数据集成到MySQL的技术实施
  • 大模型LLM基于PEFT的LoRA微调详细步骤---第一篇:模型下载篇
  • Mysql 的事务隔离级别相关问题
  • SealOS部署k8s集群(单节点)
  • 全国游泳冠军赛:孙杨、潘展乐同进400自决赛,今晚将正面对决
  • 新修订的《餐饮业促进和经营管理办法》公布,商务部解读
  • 埃尔多安:愿在土耳其促成俄乌领导人会晤
  • 陕西榆林:全力推进榆林学院升格榆林大学
  • 我的科学观|梅彦昌:科技创新关键在于能否跑得快,而不是有没有钱
  • 美股全线收涨:道指涨逾千点,纳斯达克中国金龙指数涨5.4%