1、系统环境说明

[root@dns-server etc]# cat /etc/redhat-release
CentOS Linux release 7.3. (Core) 防火墙和Selinux关闭
[root@dns-server etc]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld() Oct :: localhost.localdomain systemd[]: Starting firewalld - dynamic firewall daemon...
Oct :: localhost.localdomain systemd[]: Started firewalld - dynamic firewall daemon.
Oct :: localhost.localdomain systemd[]: Stopping firewalld - dynamic firewall daemon...
Oct :: localhost.localdomain systemd[]: Stopped firewalld - dynamic firewall daemon.
[root@dns-server etc]# getenforce
Permissive [root@dns-server etc]# hostname -I
10.0.3.57

2、安装bind

[root@dns-server ~]# yum install  bind*  -y
[root@dns-server ~]# rpm -ql bind
/etc/named.conf # 主配置文件
/etc/named.rfc1912.zones # 区域解析库文件
/var/log/named.log #日志文件
/var/named #服务根目录

3、修改配置文件

[root@dns-server ~]# cp /etc/named.conf{,.bak}
[root@dns-server ~]# vim /etc/named.conf
#删除IPv6地址,修改监听地址
options {
listen-on port { 10.0.3.57; };
....
allow-query { localhost;any; }; //允许DNS查询客户端
...
}

4、启动bind服务

#检查配置文件
[root@dns-server ~]# named-checkconf /etc/named.conf #启动bind服务
[root@dns-server ~]# systemctl start named
[root@dns-server ~]# netstat -lntup|grep
tcp 10.0.3.57: 0.0.0.0:* LISTEN /named
tcp 127.0.0.1: 0.0.0.0:* LISTEN /named
tcp6 ::: :::* LISTEN /named
udp 10.0.3.57: 0.0.0.0:* /named #测试DNS服务器 dig @表示指定NDS服务器
[root@dns-server ~]# dig baidu.com @10.0.3.57
; <<>> DiG 9.9.-RedHat-9.9.-.el7_5. <<>> baidu.com @10.0.3.57
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;baidu.com. IN A ;; ANSWER SECTION:
baidu.com. IN A 123.125.115.110
baidu.com. IN A 220.181.57.216 ;; AUTHORITY SECTION:
baidu.com. IN NS ns2.baidu.com.
baidu.com. IN NS ns7.baidu.com.
baidu.com. IN NS dns.baidu.com.
baidu.com. IN NS ns4.baidu.com.
baidu.com. IN NS ns3.baidu.com. ;; ADDITIONAL SECTION:
dns.baidu.com. IN A 202.108.22.220
ns2.baidu.com. IN A 61.135.165.235
ns3.baidu.com. IN A 220.181.37.10
ns4.baidu.com. IN A 220.181.38.10
ns7.baidu.com. IN A 119.75.219.82 ;; Query time: msec
;; SERVER: 10.0.3.57#(10.0.3.57)
;; WHEN: Thu Oct :: CST
;; MSG SIZE rcvd:

5、搭建内网DNS服务器

让当前的DNS解析qipai.com域名

/etc/named.conf
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
主配置文件中指定了/etc/named.rfc1912.zones文件
01.将域名 IP 关系存储在DNS上,在 /etc/named.rfc1912.zones 文件中进行添加
[root@clsn6 ~]# vim /etc/named.rfc1912.zones
zone "qipai.com" IN { # qipai.com是域名
type master; # 表示权威DNS,即第一个
file "qipai.com.zone"; # 域数据库,默认位于/var/named/下面,只需告知文件名qipai.com.zone是库文件名
};
需要解析多个域名时,在来一个zone然后创建对应的域名文件就OK了。
02.以
/var/named目录下的named.localhost为模板,创建qipai.com.zone文件,创建区域数据库
[root@dns-server ~]# cd /var/named/
[root@dns-server named]#  cp -av named.localhost qipai.com.zone
'named.localhost' -> 'nmtui.com.zone' ## 注意cp -a 保持原有属性
03.解析区域数据库格式,存放域名与IP的对应关系
[root@dns-server named]# cat qipai.com.zone
$TTL 1D
@       IN SOA  @ qipai.top. (
; serial
1M ; refresh
1M ; retry
1M ; expire
3M ) ; minimum
NS @
admin A 10.0.3.10
gm2.admin A 10.0.3.10
@ A 10.0.3.10

6、检查配置文件,重启bind服务

[root@dns-server named]# named-checkzone qipai.com /var/named/qipai.com.zone
zone qipai.com/IN: loaded serial
OK
[root@dns-server named]# systemctl restart named

7、测试DNS是否生效

Linux测试

[root@dns-server named]# dig qipai.com @10.0.3.57

; <<>> DiG 9.9.-RedHat-9.9.-.el7_5. <<>> qipai.com @10.0.3.57
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;qipai.com. IN A ;; ANSWER SECTION:
qipai.com. IN A 10.0.3.10 ;; AUTHORITY SECTION:
qipai.com. IN NS qipai.com. ;; Query time: msec
;; SERVER: 10.0.3.57#(10.0.3.57)
;; WHEN: Thu Oct :: CST
;; MSG SIZE rcvd: [root@dns-server named]#

修改网卡配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0需要重启网卡生效)或  /etc/resolv.conf (即时生效)指定DNS解析

Windows测试,指定DNS服务器

更多详情参考 bind9中文手册
https://www.centos.bz/manual/BIND9-CHS.pdf
https://www.linuxprobe.com/set-up-dns-server.html

Centos7.3搭建DNS服务器--BIND的更多相关文章

  1. 搭建DNS服务器-bind

    1. 安装 yum install -y bind-chroot yum install -y bind-utils service named-chroot start    2. 修改配置 增加一 ...

  2. 简单搭建DNS服务器——bind

    1安装bind yum install -y bind bind-utils bind-chroot 2 修改配置文件 # grep '^[^#]' /etc/named.conf options { ...

  3. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  4. Centos7 搭建DNS服务器与原理配置详解

    在搭建我们自己DNS服务器之前,先必须了解下DNS服务器的作用和原理. DNS是在互联网上进行域名解析到对应IP地址的服务器,保存互联网上所有的IP与域名的对应信息,然后将我们对网址的访问,解析成IP ...

  5. centos6.5环境DNS-本地DNS服务器bind的搭建

    centos6.5环境DNS-本地DNS服务器bind的搭建 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库, ...

  6. [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器

    转自:http://blog.it985.com/8958.html DNS 数据库的记录:正解,反解, Zone 的意义 通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最 ...

  7. 第一次搭建dns服务器

    CentOS 7 搭建DNS服务器 主要参考的是小左先森的一篇博客:https://blog.51cto.com/13525470/2054121. 1.搭建过程中遇到的几个问题说一下: a.在重启服 ...

  8. Windows Server 2008 R2 搭建DNS服务器(转)

    Windows Server 2008 R2 搭建DNS服务器将本机IP设为首选DNS服务器的地址在dos 下分别输入 nslookup www.mydns.com 和 nslookup 192.16 ...

  9. centos搭建dns服务器

    前言:搭建dns服务器,dns服务器我就不多说什么了,大家都懂,就是域名解析,就将ip装换为域名,域名就可以理解为类似这样的www.baidu.com网址,接下来我就直接上图了.这里面最重要的是修改u ...

随机推荐

  1. 构建自己的PHP框架(composer)

    完整项目地址:https://github.com/Evai/Aier Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统.Compo ...

  2. mac系统下虚拟机parallels安装ubuntu 14.04

    mac系统很棒,mac下的开发环境也很棒,但有时你还得需要ubuntu开发环境,比如进行嵌入式Linux交叉编译,使用Linaro toolchain… 其实mac系统下使用parallels虚拟机安 ...

  3. Altera公司高速PCB布线指南

    来至Altera公司的高速PCB布线指南,该文档言简意赅,深入浅出,对于日常高速PCB布局布线中经常碰到的一些问题进行了解析.例如:板材的选择,介电常数及损耗因子对高速高频线路的影响,传输线,阻抗控制 ...

  4. TCP 三次握手(相当于寄信需要回执,第一次握手:我寄给你一封信。第二次握手:你回我一封信。第三次握手:我再给你一个回执,这样你才能确认我收到信了)

    TCP 连接是通过三次握手进行初始化的.三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程: 1. 客户端向服务器发送 ...

  5. QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)

    原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)  http://blog.csdn.net/johnsu ...

  6. js 看图识国家

    <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  7. Sql 执行查询顺序

  8. 【std::regex】C++文件路径正则表达式

    今天代码中遇到使用正则表达式匹配一个文件路径的问题,需要验证传入的文件路径是否合法,学习了简单的正则表达式的写法后,简单写了如下代码,在网上找了一些在线测试正则表达式的网站,测试可以通过. std:: ...

  9. Z-Order

    The z-order of a window indicates the window's position in a stack of overlapping windows. This wind ...

  10. [shell]流程控制----case语句

    Shell case语句为多选择语句.可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 ...