阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

基于BIND软件实现互联网DNS解析

412次阅读
没有评论

共计 5651 个字符,预计需要花费 15 分钟才能阅读完成。

一、什么是 DNS 服务

  DNS 全称 (Domain Name System) 域名系统,因特网上作为域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串;DNS 通过软件来进行实现域名对 IP 的解析;这里是通过 BIND 开源软件实现;BIND 是开放源码软件,它允许在 Internet 上发布域名系统 (DNS) 信息,并为用户解析 DNS 查询;该名称绑定代表是 ”Berkeley Internet Name Domain”BIND 是迄今为止使用最广泛的 DNS 软件在互联网上,提供了一个强大的和稳定的平台之上的组织可以建立分布式计算系统与知识,这些系统完全符合发布的 DNS 标准;BIND 实现 DNS 协议,而 DNS 协议是核心互联网标准的一部分。

二、用户的基本上网流程

如下图:

基于 BIND 软件实现互联网 DNS 解析

三、DNS 工作机制

如下图:

基于 BIND 软件实现互联网 DNS 解析

四、实践互联网 DNS 解析

1、实践前的规划

(a)配置流程图:基于 BIND 软件实现互联网 DNS 解析

(b)配置主机规划:

编号      主机名   角色  IP 地址
 1 linux-node1-root   root 192.168.10.10
 2 linux-node2-com   com 192.168.10.11
 3 linux-node3-icescn-com01 icescn.com 192.168.10.12
 4 linux-node4-icescn-com02 icescn.com 192.168.10.13
 5 dns-proxy   proxy 192.168.10.16
 6 client   client 192.168.10.26

(c)操作系统信息:

系统版本:CentOS6.7  内核版本:2.6.32  系统架构:X86_64  安装状态:Minimal

2、预基础配置

 (a)关闭防火墙及 SELINUX 安全选项;

   /etc/init.d/iptables stop|status

   sed -i.bak ‘s@SELINUX=enforcing@SELINUX=disabled@g’ /etc/sysconfig/selinux 

   grep ‘\<SELINUX\>’ /etc/sysconfig/selinux

   setenforce 0

   getenforce

 (b)配置 HOSTS 解析(每个主机都配置);

  cat /etc/hosts

    # DNS service for hosts

    192.168.10.10 linux-node1-root linux-node1

    192.168.10.11 linux-node2-com linux-node2

    192.168.10.12 linux-node3-icescn-com01 linux-node3

    192.168.10.13 linux-node4-icescn-com02 linux-node4

    192.168.10.16 dns-proxy

    192.168.10.85 client

 (c)安装 BIND 服务软件(每个主机都安装);

   yum install bind -y

 (d)基础选项配置(每个主机都配置);

   cat /etc/named.conf

    options {

      # 监听本地所有网卡 IP;

      listen-on port 53 {localhost;};

      # 是否允许其他主机来查询;也可以允许特定的主机来查询;

      allow-query     {any;};

      # 是否允许其他主机来本机抓取记录;”none” 为不允许;

      allow-transfer {none;};

      # 关闭相关安全选项;

      dnssec-enable no;

      dnssec-validation no;

    };

   注意:参数 ”allow-transfer” 在主从同步的服务器上需要进行授权从服务器来抓取记录,其他的则禁止;

 (e)配置解析的根文件(每个主机都配置):

   cat /var/named/named.ca

    .                  3600000      NS    A.ROOT-SERVERS.NET.

    A.ROOT-SERVERS.NET.      3600000      A     192.168.10.10

   注意:” 根 ” 服务器不需要配置,它需要单独进行配置区域;该文件在生产环境意味着服务器是否能上网解析;

 (f)服务加入开机自启动(每个主机都配置);

   cat /etc/rc.local

    # Bind service start by icescn at 20170430

    /etc/init.d/named start &>/dev/null  

 (g)配置流程:5 个配置步骤

   (1)icescn.com –> (2)com –> (3)根 <—> (4)proxy 授权代理 <— (5)client 解析

3、配置主从解析记录同步:二级域

MASTER 上:

 (a)允许指定主机来同步:

   cat /etc/named.conf

    options {

       allow-transfer {192.168.10.13;};

    };

   named-checkconf # 检查主配置文件是否有语法错误;

 (b)配置区域解析文件:

   cat /etc/named.rfc1912.zones

    zone “icescn.com” IN {

      type master;  # 指定类型为主;

       file “icescn.com.zone”;  # 指定区域解析记录文件路径;

    };

   cat /var/named/icescn.com.zone

    $TTL 1D

    @ IN      SOA dns1 admins.icescn.com. (2017043000 1D 1w 2w 3w)

    @        NS  dns1

    @        NS  dns2

    dns1      A      192.168.10.12

    dns2      A      192.168.10.13

    www       CNAME   webservers

    webservers  A      192.168.10.27

    bbs       A      192.168.10.28

    blog      A      192.168.10.29

    @        MX 10   mailservers

    mail      CNAME   mailservers

    mailservers A        192.168.10.30

   named-checkzone “icescn.com.zone” /var/named/icescn.com.zone # 检查区域解析文件是否语法错误;

   文件语法格式选项:

    $TTL: 表示这条资源记录可以在客户端缓存多久的时间周期;

    @: 表示当前域的名称;

    SOA: 主从同步相关信息;

    NS: 当前的 DNS 服务器;

    A: 正向解析记录;

    MX: 邮件解析记录;

    CNAME: 别名解析记录;

  主从同步相关选项:

    2017043000: 解析库版本号;

    1D: 刷新时间;

    1w: 重试时间;多久进行重试,此选项一般是主从同步失败时的重试时间;

    2w: 过期时间;

    3w: 服务不可用时间;

 (c)重新启动服务:

   /etc/init.d/named restart

   ss -tanl | grep “53”

SLAVE 上:

 (a)禁止其他主机来本机抓取区域解析记录:

   cat /etc/named.conf

    options {

       allow-transfer {none;};

    };

   named-checkconf

 (b)建立同步区域文件配置:

   cat /etc/named.rfc1912.zones

    zone “icescn.com” IN {

       type slave;  # 指定类型为从;

       masters {192.168.10.12;};  # 指定主服务器地址;

       file “slaves/icescn.com.zone.slave”;  # 指定同步的区域记录文件路径;

    };

 (c)重新启动服务:

   /etc/init.d/named restart

   ss -tanl | grep “53”

   ls -l /var/named/slaves/

   注意:”slaves” 必须要有写权限,这意味着 ”named” 用户要对此目录有写权限;

DNS-PROXY 上:

 测试主从同步的区域解析文件是否正常:

基于 BIND 软件实现互联网 DNS 解析

   for n in {12,13};do echo “# DNS SERVER: $n”;for i in “www” “bbs” “blog” “mail”;do dig ${i}.icescn.com @192.168.10.${n} | egrep “^(w|b|m)”;done;done;

 到此 DNS 主从同步配置成功!

4、配置 COM 委派:一级域

COM 上:

 (a)建立 com 的委派区域文件:

   cat /etc/named.rfc1912.zones 

    zone “com” IN {

       type master;  # 指定类型为主;

       file “com.zone”;  # 指定区域解析记录文件路径;

    };

   cat /var/named/com.zone

    $TTL 1D

    @ IN      SOA com1 admins.com1.com. (2017043000 1D 1w 2w 3w)

     @        NS com1

     icescn.com.  NS icescndns1

    com1      A     192.168.10.11

    icescndns1  A     192.168.10.12

   注意:这里委派是给 ”icescn.com” 二级域;

 (b)检查语法并且启动服务:

   named-checkconf

   named-checkzone “com” /var/named/com.zone

   /etc/init.d/named restart

   ss -tanl | grep “53”

DNS-PROXY 上:

 测试 COM 是否委派成功:

   基于 BIND 软件实现互联网 DNS 解析

   dig www.icescn.com @192.168.10.11

   dig bbs.icescn.com @192.168.10.11

5、配置 ROOT 委派:根

ROOT 上:

 (a)建立根的委派区域文件:

   cat /etc/named.conf

     zone “.” IN {

      type master;  # 指定根的类型为主(自己为主);

       file “root.zone”;  # 指定区域解析记录文件路径;

    };

   cat /var/named/root.zone 

    $TTL 1D

    @ IN     SOA root1 admins.root1.com. (2017043000 1D 1w 2w 3w)

    @       NS  root1

    com.     NS  comdns1

    root1    A      192.168.10.10

    comdns1   A      192.168.10.11

   注意:这里委派是给 ”com” 一级域;

 (b)检查语法并且启动服务:

  named-checkconf

  named-checkzone “.” /var/named/root.zone 

  /etc/init.d/named restart 

  ss -tanl | grep “53”

DNS-PROXY 上:

 测试根是否委派成功:

  基于 BIND 软件实现互联网 DNS 解析

  dig blog.icescn.com @192.168.10.10

  dig mail.icescn.com @192.168.10.10

  注意:最好清空下上次测试的缓存记录;rndc flush:清空本地解析缓存;

6、ProxyDNS 代理配置:解析的根文件(前面配置过了)

 cat /var/named/named.ca

   .                  3600000      NS    A.ROOT-SERVERS.NET.

   A.ROOT-SERVERS.NET.      3600000      A     192.168.10.10

 /etc/init.d/named restart

 ss -tanl | grep “53”

7、客户端访问互联网域名解析

 (a)客户端配置 DNS 地址

  基于 BIND 软件实现互联网 DNS 解析

 (b)客户端测试解析结果:

  基于 BIND 软件实现互联网 DNS 解析

 到此,客户端请求互联网 DNS 解析就配置成功!

8、命令使用扩展项

 dig 命令:

  dig 只用于测试 dns 系统,但不会查询本地 hosts 文件进行解析;

     使用语法:dig [-t type] name [@SERVER] [query options]

       参数说明:

           @: 指定要解析的 DNS 主机;

           -t: 指定解析类型;

           -x: 进行反向解析;即 IP 解析成域名;

       注意:更多使用参数请查询 ”man” 帮助,这里只是列出几个常用的参数;

使用 BIND 配置 DNS 服务器 — 初级篇 http://www.linuxidc.com/Linux/2013-05/84920.htm

BIND+DLZ+MySQL 智能 DNS 的正向解析和反向解析实现方法 http://www.linuxidc.com/Linux/2013-04/82527.htm

CentOS 安装 Bind 搭建 DNS 服务器 http://www.linuxidc.com/Linux/2016-03/129692.htm

域名服务 BIND 构建与应用配置 http://www.linuxidc.com/Linux/2013-04/82111.htm

Ubuntu BIND9 泛域名解析配置 http://www.linuxidc.com/Linux/2013-03/81928.htm

CentOS 5.2 下安装 BIND9.6 http://www.linuxidc.com/Linux/2013-02/79889.htm

CentOS 6.4 安装 Bind DNS 服务器  http://www.linuxidc.com/Linux/2015-06/119371.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143405.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5651字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7982310
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...