DNS服务搭建

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

一. DNS原理相关
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。 
其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。 DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP。 
全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DNS服务器根据角色可以分为:主DNS, 从DNS, 缓存DNS服务器,DNS转发服务器。


二. 使用bind搭建DNS服务器

1. 安装bind
yum install -y bind
cp /etc/named.conf /etc/named.conf.bak  
>/etc/named.conf
vim /etc/named.conf 
加入如下配置:

options {

    directory "/var/named";

};


zone "." IN  {

    type hint;

    file "named.ca";

};


zone "localhost" IN {

    type master;

    file "localhost.zone";

};


zone "0.0.127.in-addr.arpa" IN {

    type master;

    file "named.local";

};



chown named /etc/named.conf
cd /var/named/
dig -t NS . > named.ca
vim localhost.zone //加入


@                   IN      SOA     localhost.  admin.localhost.     (

                                                                                                             2013081601

                                                                                                                  1H

                                                                                                                 10M

                                                                                                                 7D

                                                                                                                 1D

                                                                                                                 )

@                   IN          NS          localhost.

localhost.             IN          A           127.0.0.1


vim named.local //加入



$TTL 86400

@                    IN      SOA     localhost.  admin.localhost.      (

                                                                                                                 2013081601

                                                                                                                   1H

                                                                                                                   10M

                                                                                                                    7D

                                                                                                                   1D

                                                                                                                    )

@                    IN          NS          localhost.

1                    IN          PTR         localhost



检测配置是否有问题: named-checkconf 
检测正解析: named-checkzone "localhost" /var/named/localhost.zone 
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local
rndc-confgen -r /dev/urandom -a  // 这一步是生成 rndc.key, 如果没有这个key namd 是启动不了的。
chown named:named /etc/rndc.key
/etc/init.d/named start
netstat -lnp  |grep named  // 查看一下named进程是否监听了53端口
首先测试正向解析:dig @127.0.0.1 localhost. 
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1


2. 增加一个域名(zone)
vim /etc/named.conf //增加

zone "abc.com" IN {

    type master;

    file "abc.com.zone";

};


zone "137.168.192.in-addr.arpa" IN {

    type master;

    file "192.168.zone";

};


编辑zone文件: vim /var/named/abc.com.zone//增加

$TTL    600

@               IN      SOA     abc.com.      root.abc.com.    (

                                                                                                                2013081601

                                                        1H

                                                        10M

                                                        7D

                                                        1D

)

                IN      NS      ns.abc.com.

                IN      MX  10  mail.abc.com.

ns               IN      A       192.168.0.11

www              IN      A       192.168.137.73

mail              IN     A       192.168.137.10

bbs              IN      CNAME    www.abc.com. 



编辑反解析文件: vim /var/named/192.168.zone //增加

$TTL 600

@               IN      SOA     ns.abc.com.      root.abc.com. (

                                                                                                               2013081601

                                                        1H

                                                        10M

                                                        7D

                                                        1D

)

@               IN      NS      ns.abc.com.

10              IN      PTR     ns.abc.com.

11              IN      PTR     mail.abc.com.

73              IN      PTR     www.abc.com.


分别检测两个配置文件是否有问题:
named-checkzone "abc.com" abc.com.zone
named-checkzone "137.168.192.in-addr.arpa" 192.168.zone 
重启named服务,测试 dig @127.0.0.1 www.abc.com 
dig  @127.0.0.1 -x 192.168.137.11


3. 配置DNS转发
我们配置的DNS是只能解析我们定义的zone的,我们没有定义的是不能解析的。
配置DNS转发就可以解析其他互联网上的域名了,前提是这个域名在互联网中的确在使用,也就是说这个域名已经被某个DNS服务器解析了。
vim  /etc/named.conf //在options{} 里面增加
forward first;  
forwarders { 8.8.8.8; };
这两行就是用来配置转发的,该DNS服务器不能解析的域名会转发到8.8.8.8这个DNS服务器上去解析。



4. 配置主从
在从服务器上 yum install -y bind
拷贝主上的配置文件到从上,其中有/etc/named.conf, /var/named/localhost.zone, /var/named/named.local  
拷贝过来后,修改一下从的/etc/named.conf 内容参考:


options {

    directory "/var/named";

};


zone "." IN  {

    type hint;

    file "named.ca";

};


zone "localhost" IN {

    type master;

    file "localhost.zone";

};


zone "0.0.127.in-addr.arpa" IN {

    type master;

    file "named.local";

};


zone "abc.com" IN {

    type slave;

    file "slaves/abc.com.zone";

    masters { 192.168.0.11; };

};


zone "137.168.192.in-addr.arpa" IN {

    type slave;

    file "slaves/192.168.zone";

    masters { 192.168.0.11; };

};



从上生成rndc.key: rndc-confgen -r /dev/urandom -a 
chown named:named /etc/rndc.key
从上启动named: /etc/init.d/named start 
启动成功后会在 /var/named/下生成一个slaves目录,这个目录下会有192.168.zone, abc.com.zone这两个文件,内容是和主上的一样的
在从上测试: dig @127.0.0.1  www.abc.com 


5. 测试主从同步
在主dns上更改文件 /var/named/abc.com.zone // 在最后增加一行:
123              IN      A       1.1.1.1
另外需要修改一下第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以让从自动跟着变,数字只能是变大,不能减小,2013081601 -> 2013081602
重启主namd服务: /etc/init.d/named restart
经测试我们发现一个问题,就是从经常会同步特别慢,这是很要命的。所以需要我们做一个特殊操作,在主上的/etc/named.conf中,abc.com的zone中增加两行:
notify yes;
also-notify { 192.168.0.12; };



本文转自 15816815732 51CTO博客,原文链接:http://blog.51cto.com/68686789/1850855

相关文章
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
72 3
|
3月前
|
自然语言处理 数据可视化 API
淘宝商品评论 API 接口:深度解析用户评论,优化产品与服务
淘宝是领先的中国电商平台,其API为开发者提供商品信息、交易记录及用户评价等数据访问服务。对于获授权的开发者和商家,可通过申请API权限、获取并解析评论数据来进行情感分析和统计,进而优化产品设计、提升服务质量、增强用户互动及调整营销策略。未授权用户可能受限于数据访问。
|
22天前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
23天前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
2月前
|
自然语言处理 数据可视化 BI
文档解析(大模型版)服务体验评测
体验文档解析(大模型版)服务时,清晰的入门指南、操作手册和FAQ至关重要。若存在不足,需增加直观的操作流程说明(如动画演示)、深化高级功能文档,并提供实时在线支持,帮助用户快速解决问题。
|
2月前
|
弹性计算 自然语言处理 数据可视化
|
1月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
26 0
|
1月前
|
存储 缓存 网络协议
搭建dns服务常见报错--查看/etc/named.conf没有错误日志信息却显示出错(/etc/named.conf:49: missing ‘;‘ before ‘include‘)及dns介绍
搭建dns服务常见报错--查看/etc/named.conf没有错误日志信息却显示出错(/etc/named.conf:49: missing ‘;‘ before ‘include‘)及dns介绍
129 0
|
2月前
|
存储 消息中间件 算法
深入解析OpenStack Cinder:块存储服务详解
本文介绍了OpenStack及其块存储服务Cinder。OpenStack是一个开源云计算管理平台,提供基础设施即服务(IaaS),核心服务包括计算、网络、存储等。Cinder主要用于为虚拟机提供持久性块存储,具备多种功能,如卷操作、备份、快照及与实例的交互等。此外,还详细介绍了Cinder的工作流程、命令行操作及不同存储插件的使用。
445 8
|
3月前
|
机器学习/深度学习 网络协议 安全
安全DNS服务
【8月更文挑战第18天】
157 16

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
    下一篇
    无影云桌面