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. requireJS简单的学习门户网站

    总结 requireJS.这翻译成中国"必须js".说白了就是装js文件与.如何装好了?.这是继AMD标准化的模块化装.除了AMD另一种规范称为CMD规范.跟随CMD兼容模块加载. ...

  2. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 登录登出 上一章节我们总算完善了注册的功能,而且也添加了一个用户,现 ...

  3. Qt如何绘制(简单深刻,fearlazy的系列文章)

    我觉得绘制只需要考虑几个问题.简单地说就是谁在什么地方画什么? 在Qt中可以这么回答:QPainter在QPainterDevice中画想画的东西. 举个例子:用QtCreator向导新建一个项目,基 ...

  4. 构建自己的PHP框架(Twig模板引擎)

    完整项目地址:https://github.com/Evai/Aier Twig 模板引擎 模版引擎 twig 的模板就是普通的文本文件,也不需要特别的扩展名,.html .htm .twig 都可以 ...

  5. css 浏览器兼容性问题解决

    一个.!important (功能有限)   随着IE7正确!important支持, !important 方法现在只IE6兼容.(注意措辞.我记得这句话需要推进的位置.)   : #example ...

  6. 【转】postgresql 9.4 在linux环境的安装步骤详解

    本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresql ...

  7. Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验 | SwiftCafe 咖啡时光

    说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具.但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚 ...

  8. asp .net Cookies

    Request.Cookies和Response.Cookies When validating cookies or cookie data from the browser you should ...

  9. node 后台管理插件forever

    在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台运行,虽然不能直接用node命令搞定,但是在安装了forever这个包以后,还是很轻松的.不过要是在远程服务器上 ...

  10. jquery hover()的使用

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...