DNS智能解析简单的来说就是根据DNS服务器根据客户端请求IP的不同来给客户端返回不同的服务器地址,比如说电信用户访问www.linuxpad.cn的时候DNS服务器会返回给用户电信服务器,网通用户访问www.linuxpad.cn的时候DNS服务器会返回给用户网通服务器,这样就解决了南北用户访问过慢或电信用户访问网通服务器过慢的问题,国内著名的DNSpod实现的也是这样的一个功能,而BIND9自带的VIEW视图功能就可以完全实现这个功能。VIEW视图可以说是BIND9一个最强大的功能之一,他可以完全按照你要求来实现DNS服务器对不同IP、不同网段的智能解析工作。本文以centos5.6 i386系统及系统自带的BIND9和Webmin为例讲述BIND9的安装以及VIEW视图的配置功能。Webmin是一个图形化的服务器管理工具,由于DNS配置文件比较复杂,所以建议采用这款图形化配置工作来进行DNS配置。

阅读本文你需要了解一些DNS基础,如知道为什么会有DNS,什么是A记录、CNAME记录、DNS的正向解析/逆向解析,本文不会涉及这些基础知识。

本文采用VMware虚拟机来模拟DNS服务器,虚拟机须配置双网卡来模拟DNS对两个不同的网段做出不同的解析,其中一块网卡配置为Bridged模式,直接连接到局域网内网(192.168.0.0/24)上,另一块网卡配置为host-only,仅与本机进行通信(192.168.136.0/24)。

IP配置如下:

本地:物理网卡(本地连接)192.168.0.100/24,DNS为192.168.0.101

虚拟网卡(VMware Network Adapter VMnet1)192.168.136.1/24,

DNS为192.168.136.128

虚拟机:eth0(Bridged) 192.168.0.101/24

eth1(host-only)192.168.136.128/24

DNS配置:以www.linuxpad.cn为例,如果客户端为192.168.0.0/24段,则将www.linuxpad.cn解析到192.168.0.200;如果客户端为192.168.136.0/24段,则将www.linuxpad.cn解析到192.168.136.200。

测试方案:先禁用本地连接,使用nslookup工具查看www.linuxpad.cn,返回192.168.136.128则正确;再禁用虚拟网卡,使用nslookup工具查看www.linuxpad.cn,返回192.168.0.101则正确。

1. 安装bind

我们需要安装以下rpm包:

bind DNS服务器主程序

bind-libs 程序库

bind-utils 客户端命令工具

bind-chroot chroot运行模式

bind的chroot功能是一个很有用的安全设置,使bind可以在一个chroot的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中。

使用yum install命令来安装,

[root@localhost soft]# yum install bind

[root@localhost soft]# yum install bind-libs

[root@localhost soft]# yum install bind-utils

[root@localhost soft]# yum install bind-chroot

使用以下命令查看rpm包是否正确安装

[root@localhost soft]# rpm -qa | grep bind

ypbind-1.19-12.el5

kdebindings-3.5.4-6.el5

bind-chroot-9.3.6-16.P1.el5

bind-utils-9.3.6-16.P1.el5

bind-9.3.6-16.P1.el5

bind-libs-9.3.6-16.P1.el5

如果安装正确,你会看到我们所安装的rpm包。

设置DNS服务开机自启动

[root@localhost soft]# chkconfig named on

启动命令为:

[root@localhost soft]# service ntamed start

2. 安装webmin

webmin是一个可视化的linux服务器管理工具,可以帮助我们实现很多功能,从官方网站http://www.webmin.com/下载webmin的最新rpm包,目前最新的为1.560,下载后安装

[root@localhost soft]# rpm -ivh webmin-1.560-1.noarch.rpm

warning: webmin-1.560-1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 11f63c51

Preparing... ########################################### [100%]

Operating system is CentOS Linux

1:webmin ########################################### [100%]

Webmin install complete. You can now login to http://localhost.localdomain:10000/

as root with your root password.

安装完成之后,默认的访问端口是10000,默认用户名位root,密码为系统root密码。访问时请确认系统防火墙已经开放10000端口。启动命令为

[root@localhost soft]# service webmin start

访问界面如下图1/图2:

图1

图2

更改界面语言,选择WebMin下的Change Language and Theme,在语言栏选择”Simplified Chinese(ZH_CN.UTF-8)”。

3. 配置DNS

a.启动DNS服务器

打开Webmin界面,选择Servers下的BIND DNS Server,点击创建配置文件并启动dns服务器,这里只是内网测试,所以只选择第一个即可,如果你的DNS用与外网解析,请选择第二个,如图3。

图3

启动成功后会自动跳转至DNS配置页面,如图4。

图4

图中标出的即是我们需要使用的功能。

创建新的主区域:创建一个新的DNS配置文件,有正向和逆向之分,稍后介绍;

创建新的视图:这就是我们实现DNS智能解析的视图功能。

b.创建视图

由于我们需要对两个不同的IP段来实现分别解析,因此我们这里需要创建两个不同的视图。需要注意的是,一旦创建了视图,所有的域名记录(创建的主区域)都必须属于某个视图,不允许没有视图的主区域存在。创建过程如图5/图6

这里创建两个视图分别为:

名称:view_192.168.0.0 对192.168.0.0/24的客户端请求进行解析

名称:view_192.168.136.0 对192.168.136.0/24的客户端请求进行解析

图5

图6

c.创建正向主区域

创建主区域就相当于创建每个域名在DNS上的配置文件,以linuxpad.cn为例,我们需要首先在DNS服务器上创建一个将linuxpad.cn解析到192.168.0.200的主记录(先不考虑192.168.136.0段,只介绍主区域的创建方法),这个记录我们称之为正向记录,即域名到IP;然后需要再创建一个将192.168.0.200解析到linuxpad.cn的主记录,这个记录我们称之为逆向记录,即IP到域名。这样一个域名的配置文件就成功了。

对于属于同一段IP的服务器来说,每个域名必须创建一个正向主区域,但是所有域名可以共用一个逆向主区域。

我们点击图4上的创建新的主区域,创建过程如图7

图7

区域类型选择”正向”,域名/网络填写域名”linuxpad.cn”,在视图创建选择此主区域所属的视图,这里选择”view_192.168.0.0”,E-mail地址须写上,否则会报错。

点击创建如果没有错误即创建成功,会自动跳转到编辑主区域的界面,这里我们为”linuxpad.cn”这个区域来添加A记录。选择”地址”选项(地址选项就相当于A记录),如图8

图8

在名称中填写二级域名,在地址中填写域名所对应的服务器地址,这里名称填写”@”,即表示linuxpad.cn,没有二级域名,当然你也可以填写www/ftp/mail之类的,如图9

值得一提的是这里可以配置泛域名解析,即在名称处填写”*”,这样所有在地址列表中没有的名称全部会匹配到名称”*”所对应的IP地址,如aaa.linuxpad.cn,aaa这个名称不存在于地址记录中,则aaa.linuxpad.cn就会匹配名称为”*”的这个地址记录,注意这条规则的位置,请确认”*”规则位于最末尾,否则位于”*”之后的地址记录将得不到解析。

图9

d.创建逆向主区域

我们在上一步创建了linuxpad.cn正向解析,但是DNS解析只有正向是不行的,还必须有逆向解析,即将IP解析为域名,只有这样服务器才能将数据通过对应的域名返回给客户端。

创建逆向主区域过程如图10

图10

区域类型选择”逆向”,域名/网络填写”192.168.0.0”,在视图中创建选择”view_192.168.0.0”,同样填入E-mail,然后点击创建,创建成功后会自动跳转到编辑主区域的界面。

接下来,选择”逆向地址”,进行逆向地址的创建,如图11/图12。

图11

图12

在地址中填写服务IP地址,主机名中填写IP所对应的域名。

到此刻为止linuxpad.cn的解析就完全创建成功了,我们的DNS服务器就能解析linuxpad.cn这个域名了。但是不要着急,我们来完成最后一步的配置。

e.另一个视图中域名解析的配置

在上面的创建主区域的时候,”在视图中创建”这个选项,我们选择的是view_192.168.0.0,这样的话,我们所创建的linuxpad.cn这个域名解析只能对192.168.0.0/24这个段内的客户进行解析,如果我使用192.168.136.0段对linuxpad.cn进行访问的时候DNS就找不到服务器了,因为我们还没有在view_192.168.136.0这个视图中添加规则呢。

按照上一步,我们再来创建两个规则,区域类型为”正向”,域名/网络为linuxpad.cn,视图属于”view_192.168.136.0”,在”linuxpad.cn”主区域添加地址,名称为”@”,地址为”192.168.136.200”,这里有人会疑惑主区域的名称linuxpad.cn不是与上一步的重复了,不冲突嘛,实际上是不冲突的,在不同的视图中可以存在同名的主区域,但是在相同的视图中不能存在同名的主区域。

我们再创建一个逆向的主区域,区域类型为逆向,域名/网络为”192.168.136.0”,视图属于”view_192.168.136.0”。在”192.168.136.0”主区域添加逆向地址,地址为”192.168.136.200”,主机名为”linuxpad.cn”。

这样我们就完成了所有的DNS配置工作。

创建完成之后,返回到区域列表,我们发现配置完成之后主界面会显示出大概的配置信息。如图13。

图13

4. 测试

配置完成后,首先我们须重启DNS服务,你可以通过Webmin图像界面来应用配置(

Apply Configuraion),如图14,也可以通过服务器使用命令service named restart来重启DNS服务。

图14

测试192.168.0.0段:

禁用虚拟网卡,以本地连接的192.168.0.0/24段来测试。如图15/图16

图15

图16

禁用本地连接,以虚拟网卡的192.168.136.0/24段来测试。如图17/图18

图17

图18

这样就利用BIND9的VIEW视图功能完美的解决了DNS智能解析的问题。

linux nslookup 解析不到dns_内网智能DNS搭建相关推荐

  1. linux nslookup 解析不到dns_涉及DNS的简单操作,只看这一篇就够了

    DNS的英文名称是Domain Name System,就是域名系统,应用使用UDP和TCP协议,用树状递归结构管理,到目前为止,还保持着全球13个根域名(不能说台,因为本身就不是13台服务器,代号从 ...

  2. linux nslookup 解析不到dns_网络工程师之nslookup命令

    如果这篇文章对您有帮助,请关注并点赞,感谢您的支持,如果还有其他问题,请私信给我 Nslooup(name server lookup)是一个用于查询internet域名信息或诊断DNS服务器问题的工 ...

  3. 华为云在Linux ECS上使用obsutil通过内网访问OBS

    obsutil是适用于Windows.macOS和Linux操作系统的命令行工具,支持通过配置内网DNS服务器地址的方式,使在华为云上的Linux ECS通过内网直接访问OBS,下面将介绍其具体操作流 ...

  4. 在Linux系统中的安装cpolar内网穿透

     系列文章 将cpolar内网穿透配置为开机自启动 在Linux系统中的安装cpolar内网穿透 linux本地搭建网站,并将其发布到公网可访问 1-8 linux本地搭建网站,并将其发布到公网可访问 ...

  5. 软路由OpenWrt dnsmasq解析内网上游DNS

    问题 网络配置如上图 解析my.bupt.edu.cn没有返回对应IP 解决方法 参考了DNSmasq详细解析及详细配置,其中提到 stop-dns-rebind这项配置因为安全性会禁用内网的DNS解 ...

  6. 快解析——好用的内网安全软件

    都听说过外网,毫无疑问,外网对于每个网络用户是十分重要的.但很多人都忽略了内网的安全,保证内网的安全也是十分重要的.平时我们的电脑中都会安装各种杀毒软件和防火墙保护电脑安全,同理,保证内网的安全也可以 ...

  7. frp内网穿透并搭建配置使用

    一文搞懂frp内网穿透并搭建配置使用 原文链接 ->https://developer.aliyun.com/article/853534?spm=ding_open_doc.document. ...

  8. nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解

    nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解 一共有两部分,一部分是windows安装,一部分是linux系统(使得ip显示自己的阿里云). 前期准备 1.一台云服务器 2.配置安 ...

  9. nps内网穿透服务器搭建教程(阿里云)-小宇特详解

    nps内网穿透服务器搭建教程(阿里云)-小宇特详解 前期准备 1.一台云服务器 2.配置安全组 3.在自己的电脑上安装nps 云服务器的话自己买,我这里使用的是阿里云 讲一下配置安全组 打开阿里云的官 ...

  10. 离线/内网环境下搭建vue开发环境

    系列文章目录 第一讲 离线/内网环境下搭建vue开发环境 第二讲 内网环境运行maven项目 目录 外网环境搭建 一.安装nodeJS 二.安装vue依赖包 内网环境正式开始 准备工作: 一.安装no ...

最新文章

  1. Windows 10 开发日记(五)-- 当Binding遇到异步 -- 解决方案
  2. iOS开发中didSelectRowAtIndexPath tap事件响应延迟
  3. Functional Options
  4. 单片机方波幅度调节c语言,为什么我用单片机做的频率可调的方波输出会有尖刺,而且会断...
  5. 电脑维修:电脑故障通用处理思路,你有必要了解一下!
  6. 自家院子里能不能种桃树呢?
  7. 【note】Head First Java笔记
  8. 穆迪将收购信用数据和见解领导者Cortera
  9. MQTT Essentials(Basics(1-5) And Features(6-10))
  10. 树莓派人脸表情识别中期报告
  11. 全国计算机缴费时间江苏,2018年3月江苏全国计算机等级考试报名时间
  12. 今天来说说白色white
  13. C#长链接转短链接(调用新浪api)
  14. NVENC SDK 设置h264编码的slice划分问题
  15. js实现倒计时,定时器--完成时间倒计时
  16. Python编写手机App————kivy
  17. win10 uwp 如何使用DataTemplate
  18. 文件上传(11-19)
  19. hp进系统卡在w ndows界面,惠普电脑一直卡在正在启动windows怎么办
  20. 求最长回文子串——C++ (动态规划+暴力解法)

热门文章

  1. 设置Listview行高--小技巧
  2. springboot 和springMVC interceptor使用
  3. Red Hat Enterprise Linux 7.5安装盘内容做本地YUM源
  4. 阿里高级技术专家:研发效能的追求永无止境 1
  5. 巴克莱银行实现敏捷及DevOps与本地文化的融合
  6. SharePoint Backup
  7. myeclipse 运行servlet
  8. linux系统时间分区的设置方法分享
  9. macvlan 详解
  10. Android 四大组件学习之ContentProvider五