DNS 服务 bind 配置说明

本贴最后更新于 2585 天前,其中的信息可能已经渤澥桑田

官网:https://www.isc.org/downloads/bind/

安装:

yum install bind
yum install bind-utils # 包含了dig/nslookup/host等工具
yum install bind-chroot # 说是可以出于安全原因,改变配置文件的根路径,但不知道怎么用,感觉不装也行

安装完成后,默认配置文件位于:

/etc/named.conf
/var/named/

注意,/var/named/目录下的解析文件权限必须是 0640,且必须在 named 用户组,否则解析文件会加载失败,导致解析相应域名时出现 SERVFAIL 错误

/etc/named.conf 内容:

// 全局配置
options {
    listen-on port 53 { 127.0.0.1; 192.168.10.8; };
    // 配置文件根目录
    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     { localhost; 192.168.10.0/24; };
    recursion yes;
    // 外部的DNS服务器,这里可以配置成ISP的DNS服务器
    forwarders { 211.167.230.100; 211.167.230.200; };
    // 这里定义了一个特殊的zone,实际我们用这个zone来定义哪些域名被禁止解析
    response-policy { zone "badlist"; };
};
// 日志
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
// 一个zone就相当于是DNS解析中的一个域名
// 比如“zhilehuo.com”
// 然后在zone的file指定的文件中,配置该域名下所有的解析记录
zone "bjoffice1.zhilehuo.com" IN {
    type master;
    file "named.bjoffice1.zhilehuo.com.zone";
};
// 这是一个特殊的zone,被定义在options中的response-policy中
// 作用是可以定义一个特殊的zone文件,不过我有点描述不清楚……
zone "badlist" {
    type master;
    file "named.badlist.zone";
    allow-query { none; };
};
// 这是bind安装后默认生成的一个文件,定义了类似localhost,127.0.0.1等
include "/etc/named.rfc1912.zones";

/var/named/named.bjoffice1.zhilehuo.com.zone 内容:

$TTL 60
@    IN SOA    @ rname.invalid. (
                    0    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
    NS    @
@    IN    A    192.168.10.8
*    IN    A    192.168.10.8

/var/named/named.badlist.zone 内容:

$TTL 1H
@    SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
    NS  LOCALHOST.

bjoffice1-proxy.zhilehuo.com    CNAME .
*.bjoffice1-proxy.zhilehuo.com    CNAME .

维护命令:

bind 的进程名称是 named,在 Centos6 下安装后,会创建 /etc/init.d/named 脚本,可以手动通过 chkconfig 加到系统启动列表中;同时,应该也被安装在 service 服务中
在 CentOS7 下,bind 安装后以 systemctl 服务存在,需要通过 systemctl 启动:

systemctl enable named
systemctl start named

配置修改后,可以重启 named,或者通过 rndc reload 重新加载配置

  • Bind
    3 引用
  • DNS
    25 引用 • 20 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 733 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    407 引用 • 1246 回帖 • 581 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 355 关注
  • sts
    2 引用 • 2 回帖 • 196 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 2 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1235 回帖 • 412 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖 • 2 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    166 引用 • 595 回帖 • 1 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 66 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    6 引用 • 38 回帖
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 261 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    77 引用 • 390 回帖 • 1 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 996
    13 引用 • 200 回帖 • 6 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 709 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 5 关注
  • 自由行
    11 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 52 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    222 引用 • 473 回帖
  • abitmean

    有点意思就行了

    30 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 62 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 155 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 699 关注