菜鸟也玩DNS之配置DNS转发服务器

简介:
在有些时候,我们自己并不需要进行域名解析操作。但是,需要协助其他人解析,这就要用到转发DNS服务了。转发DNS主要是通过forwarder功能实现,这是一种转发机制,当本地DNS服务器被设置为转发时,所有非本域的域名查询,或者是在缓存中无法找到的域名查询都将转发到指定的DNS服务器上,有这台指定的DNS服务器来完成域名解析工作,而转发DNS将存贮查询到的信息到本地缓存中,在缓存生命周期内,如果有相同的域名再次查询就直接从本地缓存中获得数据,不需要去指定的DNS查询了,这样就降低了网络流量,提高了查询效率。
我们都知道named.conf是DNS的主配置文件。不了解的同学请参考: 菜鸟也玩DNS之配置DNS缓存服务器
named.conf的配置大致如下:
key "rndc-key" { 
        algorithm hmac-md5; 
        secret "MUJbEnY6WFnkUg1waSD3lQ=="; 
};
controls { 
        inet 127.0.0.1 port 953 
                allow { 127.0.0.1; } keys { "rndc-key"; }; 
};
options { 
forwarders { 202.106.0.20;202.106.46.151; }; 
};
如上就是配置DNS转发服务器的全部配置,我们使用的机器的DNS可以设置为这台转发DNS服务器的IP,但所有的DNS查询都将转发到forwarders指定的两个DNS上。这台转发DNS只帮助反悔结果给用户。因此它的所有查询都不是权威的。
当转发DNS与forwarders指定的DNS之间无法通信时,它将采取其它方式解析,如果我们并希望它那么做,就必须在 options中指定出来。
配置信息如下:
options { 
forwarders { 202.106.0.20;202.106.46.151; };
forward only;  
};
在比较高的bind版本中,我们还可以实现只针对某个域名查询进行转发,其它的使用本地查询。
配置如下:
key "rndc-key" { 
        algorithm hmac-md5; 
        secret "MUJbEnY6WFnkUg1waSD3lQ=="; 
};
controls { 
        inet 127.0.0.1 port 953 
                allow { 127.0.0.1; } keys { "rndc-key"; }; 
};
options { 
directory "/usr/local/named/dns/zone"; 
pid-file "/usr/local/named/dns/named.pid"; 
};
zone "." IN { 
        type hint; 
        file "named.root"; 
};
zone "localhost" IN { 
        type master; 
        file "localhost.zone"; 
        allow-update { none; }; 
};
zone "0.0.127.in-addr.arpa" IN { 
        type master; 
        file "localhost.rev"; 
        allow-update { none; }; 
};
zone "xiaocui.com" { 
        type forward; 
        forwarders { 202.106.46.151;202.106.0.20; }; 
};
那么当我们查询xiaocui.com的时候,DNS就会转发给forwarders指定的DNS来进行查询。其它的域名查询都将在本地进行。


本文转自 cyr520 51CTO博客,原文链接:http://blog.51cto.com/cyr520/697484
相关文章
|
域名解析 网络协议 Linux
如何centos搭建内网dns服务器的详细步骤
要在 CentOS 上搭建内网 DNS 服务器,你可以按照以下步骤进行操作: 1. 安装 BIND DNS 服务器: - 打开终端并以 root 用户身份登录到 CentOS。 - 运行以下命令安装 BIND DNS 服务器: ``` sudo yum install bind bind-utils ``` 2. 配置 BIND DNS 服务器: - 使用文本编辑器打开 `/etc/named.conf` 文件,并根据需求进行配置。以下是一个示例配置: ``` options { listen-on po
5338 0
|
域名解析 缓存 网络协议
DNS记录类型介绍(A记录、MX记录、NS记录等)
DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 建站名词解释:DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 泛域名 泛解析 域名绑定 域名转向   1.DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。
22307 0
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
11628 3
linux centos上安装python3.11.x详细完整教程
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
169732 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
关系型数据库 MySQL 测试技术
用Yum安装最新的MySQL版本
用Yum安装最新的MySQL版本 通常在使用Yum安装MySQL时,默认安装的是伴随OS发布的旧MySQL版本。 要安装最新的MySQL版本,你必须去Oracle的MySQL主页,下载最新的发布版本,然后再安装。
1079 0
|
网络协议 Linux 监控
|
存储 Prometheus 监控
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源
在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源
|
编解码 缓存 IDE
解决IDE启动失败问题: Internal error. Please refer to com.intellij.openapi.progress.ProcessCanceledException
解决IDE启动失败问题: Internal error. Please refer to com.intellij.openapi.progress.ProcessCanceledException
830 0
|
负载均衡 监控 前端开发
|
机器学习/深度学习 自然语言处理 算法
graphSage还是HAN ?吐血力作综述Graph Embeding 经典好文
graphSage还是HAN ?吐血力作综述Graph Embeding 经典好文
graphSage还是HAN ?吐血力作综述Graph Embeding 经典好文