DNS-05-转发

DNS-05-转发

实验环境

ns1.magedu.com 172.18.71.101/24 CentOS-6.7-x86_64 父域        可以连接互联网
ns1.dev.magedu.com 172.18.71.102/24 CentOS-7.2-x86_64 子域    不能连接互联网
localhost.localdomain 172.18.71.103/24 CentOS-7.2-x86_64 测试机

iptablesSELinux均处于关闭状态。

安装bind

[[email protected] ~]# yum install -y bind bind-libs bind-utils

首先,分别修改两个节点主机的主配置文件/etc/named.conf,注释掉仅允许本机查询请求和dnssec(可能影响实验结果),并在监听地址列表中增加各自向外部提供服务的IP地址。

options {
    listen-on port 53 { 127.0.0.1; 172.18.71.101; };
    ...
    //allow-query     { localhost; };
    ...

    //dnssec-enable yes;
    //dnssec-validation yes;
    //dnssec-lookaside auto;
    ...
};

时间同步

一般来说,多节点协同工作首先就是要校准时间,使之时间同步。联网状态下可使用ntpdate命令统一找授时中心校准,不能联网可使用date命令手动校准。

配置转发

首先,参照DNS-04-子域授权配置一个父域服务器和一个子域服务器。

现在的需求是在使用子域服务器去解析父域域名时不要让子域服务器去层层递归查询而是直接交给父域服务器去完成解析。实现方法是转发,但是有两种不同的方式,一种是区域转发,一种是全局转发。

1. 区域转发

在子域服务器上的增加magedu.com的区域定义。这里forward方式也有两种类型:first或者onlyfirst是先尝试转发,如果父域服务器没有响应再自行去迭代查询,而only是只转发。可以根据实际情况去选择,一般来说first的灵活度要大一些,但是如果你的服务器根本就不能连接互联网就没有必要用first了。

[[email protected] ~]# vim /etc/named.rfc1912.zones
...
zone "magedu.com" IN {
    type forward;
    forward first;
    forwarders { 172.18.171.101; };
};

检查主配置文件的语法

[[email protected] named]# named-checkconf

启动服务

[[email protected] ~]# systemctl start named

在测试机器上使用dig测试,通过区域转发的方式子域服务器解析父域域名可以得到结果了。

[[email protected] ~]# dig -t A www.magedu.com @172.18.71.102

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.magedu.com @172.18.71.102
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24093
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.magedu.com.            IN    A

;; ANSWER SECTION:
www.magedu.com.        85317    IN    A    172.18.71.101
www.magedu.com.        85317    IN    A    172.18.71.102

;; AUTHORITY SECTION:
magedu.com.        86343    IN    NS    ns1.magedu.com.

;; Query time: 1 msec
;; SERVER: 172.18.71.102#53(172.18.71.102)
;; WHEN: 五 4月 08 23:04:56 CST 2016
;; MSG SIZE  rcvd: 93

而非此转发区域的域名解析则不会转发,而是由子域服务器去迭代查询的。但子域服务器无法联网,因此查询不到结果。

[[email protected] ~]# dig -t A www.baidu.com @172.18.71.102

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.baidu.com @172.18.71.102
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 38245
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com.            IN    A

;; Query time: 8 msec
;; SERVER: 172.18.71.102#53(172.18.71.102)
;; WHEN: 五 4月 08 23:51:02 CST 2016
;; MSG SIZE  rcvd: 42

2. 全局转发

全局转发时,就不是定义转发区域了,而是在主配置文件/etc/named.conf中直接定义了。

options {
    ...
    forward only;
    forwarders { 172.18.71.101; };
    ...
};

检查主配置文件的语法

[[email protected] named]# named-checkconf

启动服务

[[email protected] ~]# systemctl start named

在测试机器上使用dig测试,通过全局转发的方式子域服务器解析父域域名也可以得到结果。

[[email protected] ~]# dig -t A www.magedu.com @172.18.71.102

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.magedu.com @172.18.71.102
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43069
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.magedu.com.            IN    A

;; ANSWER SECTION:
www.magedu.com.        83773    IN    A    172.18.71.101
www.magedu.com.        83773    IN    A    172.18.71.102

;; AUTHORITY SECTION:
magedu.com.        84799    IN    NS    ns1.magedu.com.

;; Query time: 1 msec
;; SERVER: 172.18.71.102#53(172.18.71.102)
;; WHEN: 五 4月 08 23:30:41 CST 2016
;; MSG SIZE  rcvd: 93

此时非此转发区域的域名解析也会转发,然后由父域服务器去做解析。因为父域服务器可以联网,所以可以查到结果。

[[email protected] ~]# dig -t A www.baidu.com @172.18.71.102

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.baidu.com @172.18.71.102
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12108
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com.            IN    A

;; ANSWER SECTION:
www.baidu.com.        50    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    299    IN    A    61.135.169.125
www.a.shifen.com.    299    IN    A    61.135.169.121

;; Query time: 845 msec
;; SERVER: 172.18.71.102#53(172.18.71.102)
;; WHEN: 五 4月 08 23:53:45 CST 2016
;; MSG SIZE  rcvd: 101

结论

区域转发意味着很多解析请求需要子域服务器自己去迭代查询,全局转发则意味着将大部分的压力都转移给父域服务器,所以选择区域转发还是全局转发需要根据实际情况来决定。
同时这里也存在一个问题,如果我们的服务器没有做任何安全设置,允许对任何主机的递归查询请求,就会出现别人将解析请求转发到我们的服务器上的情况。被人占便宜事小,影响到业务事大,这是我们不愿意看到的。参照DNS-06-安全设置

时间: 2024-10-08 06:26:31

DNS-05-转发的相关文章

DNS之四---实现DNS的转发功能

实现DNS服务转发: 原理:要访问www.magedu.com网址,先在本地的缓存DNS服务器寻找,如果有,就可以访问,如果没有,根将DNS服务器的缓存放入到北京,将北京作为一个转发(作为期望的DNS转发服务器),上海和重庆直接指向北京寻找答案,节约了广域上的网络带宽. only用法:客户端发起请求在A服务器上找,A服务器转发到B(103IP)的服务器上,B服务器返回最终的结果,如果B服务器没有不去询问根. 创建一个转发服务器B(192.168.34.103),将/etc/named.rfc19

DNS服务器配置转发无法解析问题

处理过程:一.编辑主配置文件 # vi /etc/named.conf /*include "/etc/named.root.key"; # 注释掉此配置 */ 二.重启域名服务 # systemctl restart named.service 问题阐述:该项配置保存了根域名服务器的私钥文件,根域名解析服务器为了防止DNS劫持,采用一种DNSSEC安全扩展技术,采用证书认证机制保证数据安全.如果注释此配置则DNS服务器与根域名服务器之间传递解析不需要经过认证.如果开启此配置如果根的私

DNS服务器介绍(二)——主从复制和区域转发

背景介绍 实际环境中为了避免单点故障,DNS服务器是由一组服务器组成每一个服务器上都有若干个区域,不同服务器上的相同区域分为主和从两种角色.由于正向和反向是不同的区域,所以多台服务器间的相同区域可以互为主从或者一主多从,本处以右图为例进行演示. DNS服务器的主从复制 1.之前已经在172.16.10.10/24主机上创建了contoso.com正反向解析区域并分别设置为主服务器,对于从服务器,只需要在配置文件中添加解析区域且zone名称必须和主服务器的zone名称保持一致,他会自动去主服务器上

基于常规DNS隧道进行的tcp端口转发dns2tcp的使用

0x01 安装Dns2TCP dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发. sudo apt-get install dns2tcp 0x02配置dns2tcp 配置DNS2TCP服务端 首先,将你的某个域名(这里以creke.net为例)开个二级域名a.creke.net,类型为NS,NS记录指向b.creke.net.然后将b.creke.net建立A记录指向你的Linux服务器IP(这里以1.2.3.4为例).如下表所示. a.creke.net NS b.c

linux虚拟机玩转DNS

经历过博客被关闭的风波,思绪不是那么清晰了,昨天研究了一下DNS服务,发现还挺好玩的. 声明:本文借鉴了下面两位博主的博客: http://redking.blog.51cto.com/27212/146708 http://evolution.blog.51cto.com/3343305/643520 一.DNS的基本工作原理: DNS是域名解析服务:domain name service 正向解析:从域名到IP的解析 反向解析:从IP到域名的解析 一次域名解析过程: 主机发出解析www.mm

linux下搭建DNS子域及相关授权详解

forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 forward first;无法解析的域名,转发给指定DNS服务器,如果指定DNS服务器也无法解析, 再通过自己的DNS服务器向根进行转发解析 forwarders { 指定DNS服务器; }; 如本地DNS无法解析,向指定DNS服务器转发解析域名 注意forward与forwarders同时使用 2.搭建主域与子域,要求如下: A.主域为wi

CentOS6.7 DNS配置

CentOS6.7 DNS配置 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数字串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53,服务器之间备份使用TCP. 1.DNS的一些基本概念: 1).根域 . 根域"."(点),我们的网站www.qq.com,其实完整的写法是www.

DNS原理及其解析过程 精彩剖析

DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的 IP地址,而不能认识域名.我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是 因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页. 什么是DNS?     DNS( Domain Name  S

配置域从DNS服务器以及缓存DNS服务器

一.域从DNS服务器的作用 我们在之前上一篇随笔里有提到,DNS服务器一般有三种类型,一个是Primary DNS Server(主DNS服务器),一个是Secondary DNS Server(从DNS服务器),还有一个就是Caching DNS Server,我们配置一个域的DNS服务就是给其配置一个主DNS服务器,那么从DNS服务器主要是用来干嘛的呢? 配置一个域的从服务器一般是为了进行备份以及负载均衡使用,例如在生产环境中,我们给一个域配置的主DNS服务器崩溃了或者被恶意攻击了,那么这个

CentOS7 下DNS的搭建

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS运行在UDP协议之上,使用端口号53. 下面开始在CentOS7下搭建DNS,仅供参考! 说明:本文只介绍chroot的方式,对于非chroot的方式不做介绍! 环境准备: 1. 一台CentOS7的机器 2. IP地址:192.168.0.254 3. 主机名:serve