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

实现DNS服务转发:

原理:要访问www.magedu.com网址,先在本地的缓存DNS服务器寻找,如果有,就可以访问,如果没有,根将DNS服务器的缓存放入到北京,将北京作为一个转发(作为期望的DNS转发服务器),上海和重庆直接指向北京寻找答案,节约了广域上的网络带宽。

only用法:客户端发起请求在A服务器上找,A服务器转发到B(103IP)的服务器上,B服务器返回最终的结果,如果B服务器没有不去询问根。

创建一个转发服务器B(192.168.34.103),将/etc/named.rfc1912.zones配置文件进行修改:

[[email protected]~]#vim /etc/named.rfc1912.zones
zone "wang.com" {
        type master;
        file "wang.com.zone";
};

在/var/named/目录下创建一个wang.com.zone配置文件:

vim /var/named/www.wang.com.zone
$TTL 1D
@ IN SOA dns1 admin ( 1 1H 1M 1D 3H )
   NS dns1
dns1 A 192.168.34.102
www  A 6.6.6.6

注意将 wang.com.zone配置文件的所属组改为named,权限改为640  

[[email protected]]#ll
total 32
-rw-r--r-- 1 root  root   230 Nov  6 22:53 192.168.34.zone
-rw-r----- 1 root  named  296 Nov  7 15:35 baidu.com.zone
drwxrwx--- 2 named named   23 Oct 31  2018 data
drwxrwx--- 2 named named   31 Nov  7 16:21 dynamic
-rw-r----- 1 root  named 2281 May 22  2017 named.ca
-rw-r----- 1 root  named  152 Dec 15  2009 named.empty
-rw-r----- 1 root  named  152 Jun 21  2007 named.localhost
-rw-r----- 1 root  named  168 Dec 15  2009 named.loopback
-rw-r----- 1 root  named  198 Nov  7 15:59 shenzhen.baidu.com.zone
drwxrwx--- 2 named named    6 Oct 31  2018 slaves
-rw-r--r-- 1 root  root    94 Nov  7 20:33 wang.com.zone
[[email protected]]#chgrp named wang.com.zone
[[email protected]]#chmod 640 wang.com.zone

配置完之后重新加载DNS服务:

dndc reload

在主服务器A上修改相应的配置文件,/etc/named.conf

[[email protected]~]#vim /etc/named.conf
options {
//      listen-on port 53 { localhost; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
//      allow-query     { any; };
        allow-transfer  { 192.168.34.103; };
        forward only ;                         将转发服务器的IP地址写到主服务器上面,保证只转发此IP地址
        forwarders      {192.168.34.103;};

       dnssec-enable no;    将此两个功能关掉
       dnssec-validation no; 关掉此功能

配置完之后重新加载DNS服务:

rndc  reload  重新加载DNS服务

最后在客户端C上验证转发功能:

[[email protected]~]#dig www.wang.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.wang.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41040
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.wang.com.			IN	A

;; ANSWER SECTION:
www.wang.com.		86063	IN	A	6.6.6.6

;; AUTHORITY SECTION:
wang.com.		86063	IN	NS	dns1.wang.com.

;; ADDITIONAL SECTION:
dns1.wang.com.		86063	IN	A	192.168.34.102

;; Query time: 2 msec
;; SERVER: 192.168.34.101#53(192.168.34.101)
;; WHEN: Thu Nov  7 20:54:11 2019
;; MSG SIZE  rcvd: 81

查看当前没有配置的域名,此时客户端发起请求,A服务器上没有,就会转发到服务器B IP地址为103机器上,此时B服务器如果有网络,就会在网上寻找答案

[[email protected]~]#dig www.wange.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.wange.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28947
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.wange.com.			IN	A

;; ANSWER SECTION:
www.wange.com.		7200	IN	A	93.90.145.101此时IP地址103在网上返回的答案

;; Query time: 2356 msec
;; SERVER: 192.168.34.101#53(192.168.34.101)
;; WHEN: Thu Nov  7 21:36:54 2019
;; MSG SIZE  rcvd: 47

第二种方式服务器转发方式:

first用法:当客户端去访问服务器A时,此时A不知道结果会转发给B,B不知道结果,此时A会自己去询问根去反馈结果:

(1)在服务器A上写配置文件/etc/named.conf,将端口转发给服务器B(103IP地址)

[[email protected]~]#vim /etc/named.conf
options {
//      listen-on port 53 { localhost; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
//      allow-query     { any; };
        allow-transfer  { 192.168.34.103; };
        forward first ;
        forwarders      {192.168.34.103;};

重新加载A服务器的DNS服务:

rndc reload

(2)将服务器B的网络断掉,此时B无法访问网络。  

(3)在客户端进行访问当前的一个未知的网址,A主机如果不知道,先会转发给B服务器,B服务器不知道结果,A服务器主动去网上寻找答案:

[[email protected]~]#dig www.wange.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.wange.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52394
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 10

;; QUESTION SECTION:
;www.wange.com.			IN	A

;; ANSWER SECTION:
www.wange.com.		7200	IN	A	93.90.145.101

;; AUTHORITY SECTION:
wange.com.		172755	IN	NS	ns01.crystone.se.
wange.com.		172755	IN	NS	ns05.crystone.se.
wange.com.		172755	IN	NS	ns03.crystone.se.
wange.com.		172755	IN	NS	ns04.crystone.se.
wange.com.		172755	IN	NS	ns02.crystone.se.

;; ADDITIONAL SECTION:
ns01.crystone.se.	884	IN	A	194.58.193.60
ns01.crystone.se.	884	IN	AAAA	2a01:3f1:460::53
ns02.crystone.se.	86382	IN	A	185.42.137.108
ns02.crystone.se.	884	IN	AAAA	2a01:3f0:400::60
ns03.crystone.se.	884	IN	A	194.58.193.124
ns03.crystone.se.	86382	IN	AAAA	2a01:3f1:460:1::53
ns04.crystone.se.	884	IN	A	185.42.137.126
ns04.crystone.se.	884	IN	AAAA	2a01:3f0:400::190
ns05.crystone.se.	884	IN	A	93.90.145.25
ns05.crystone.se.	884	IN	AAAA	2a06:1003:1:1::5d5a:9119

;; Query time: 2247 msec
;; SERVER: 192.168.34.101#53(192.168.34.101)
;; WHEN: Thu Nov  7 21:50:10 2019
;; MSG SIZE  rcvd: 373

原文地址:https://www.cnblogs.com/struggle-1216/p/12582269.html

时间: 2024-10-11 01:20:00

DNS之四---实现DNS的转发功能的相关文章

DNS系列- 1.dns基本概念介绍

DNS系列- 1.dns基本概念介绍     目录         前言         一.概述             1.名词解释             2.DNS域名结构         二.DNS域名解析             1.查询类型             2.解析类型             3.DNS服务器的类型             4.区域传输             5.解析过程             6.解析答案         三.资源记录        

查看DNS主机名解析的主机IP并向DNS服务器进行DNS域名解析

一.查看DNS主机名解析的主机IP host 命令 用途 把一个主机名解析到一个网际地址或把一个网际地址解析到一个主机名. 语法 host [-n [ -a ] [ -c Class] [ -d ] [ -r ] [ -t Type ] [ -v ] [ -w ] [ -z ]] Hostname | Address [ Server ] hostnew [ -a ] [ -c Class ] [ -d ] [ -r ] [ -t Type ] [ -v ] [ -w ] [ -z ] Host

DNS(一)--DNS基础

DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. DNS功能和作用 每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主

DNS污染和DNS劫持的解决办法

DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址. DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址. DNS污染解决方法 1.使用各种SSH加密代理,在加密代理里进行远程DNS解析,或者使用VPN上网. 2.修改hosts文件,操作系统中Hosts文件的权限优先级高于DNS服务器,操作系统在访问某个域名

Linux主机实现简单的路由转发功能

只要在Linux主机上添加一些简单的路由条目, 这些Linux主机就可以充当简单路由器的功能. 在实际生产坏境中, 当我们需要一台路由器简单作为转发数据, 但是手上却没有路由器的话, 我们就可以指定一台Linux主机充当一个简单的路由器,实现路由简单的转发. 上面所诉尤其强调简单, 所以说只是实现简单的路由的功能, 如果要实现非常复杂的功能的话, 一台Linux主机可能无法实现你想要的条件. 实验坏境: 基于VMware上的4台虚拟主机,主机名为R1.R2的两台主机(都是centos6.8系统)

工作流转发功能实现

其实最简单的,在通知需要什么按钮,只需要在lookup types那里设置就行,但是刚开始我们都只是停留在各种理论上的思考,并没有去实践去动手做,即使一些很简单的.所以经过这次对于我来说还是学到很多东西,有很多东西需要我们真正动手去做,去实践,即使是最简单的,那样我们才能知道行还是不行. 简单的说一下我们的转发功能需求. 某一个审批层次的人拥有足够的权限审批某一申请,但是他有的时候还是想征求领导意见,此时就需要将通知转发给下一审批层次,但对于本层次来说是既不是通过也不是拒绝. 实现方法很简单 设

DNS系列- 2.dns服务搭建(bind编译安装)

DNS系列- 2.dns服务搭建(bind编译安装) 目录     一.安装bind         1.yum安装         2.编译安装     二.服务搭建         1.编辑DNS主配置文件         2.添加解析     三.测试         1.正向解析测试         2.反向解析测试 一.安装bind Bind(kerkeley Internet Name Deamon) 是现今互联网使用最广泛的DNS服务器软件,使用BIND作为服务器软件的DNS服务器

CentOS6.6搭建DNS及主从DNS服务搭建

DNS搭建及主从DNS构建 DNS工作原理 DNS解析的作用 我们访问网络时,通常采用浏览器访问web站点,一般通过http://www.baidu.com或baidu.com等域名方式访问,也可以通过http://百度IP:端口进行访问,以前者常用,那么域名方式访问时怎么实现的呢?这就需要通过DNS服务器来解析了: DNS解析方式 正向解析: 根据域名查找其对应的IP地址:目前最常用的方式: 反向解析: 根据IP地址解析其对应的域名:一般应用于安全防护等领域: DNS的分布结构 DNS分布结构

好用的linux开启路由转发功能。

标记一下,今天想让一台redhat7开通iptables的nat转发功能,找了半天. A服务器:192.168.30.20/24 B服务器:192.168.30.1/24,eth0;  192.168.40.1/24,eth1 c服务器:192.168.40.20/24 目标:让A可以ping和ssh到c机器.这就需要通过B服务器来跳转. 操作过程: 1.在B服务器上开启内核路由转发参数 临时生效: echo "1" > /proc/sys/net/ipv4/ip_forward