微信订阅号二维码
本栏目热门内容
  • Acrobat虚拟PDF打印机执行...
  • LINKSYS交换机登录WEB界面...
  • 又一次RAID 5阵列故障记录...
  • 解决VMware vSphere ESXi ...
  • 修改CentOS发行信息以绕过...
  • Windows Server 2008 重命...
  • 解决虚拟化运行的 Windows...
  • Intel Nehalem CPU Errata...
  • 某卢瑟装机搞得一踏糊涂,...
  • 解决MySQL Cluster 备份总...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的...
  • 解决 VMWare vSphere 6 客...
  • 解决Windows Server 2008 ...
  • 本站服务器RAID 5阵列双硬...
  • 网站数据库从MySQL 5.0升...
  • 解决MariaDB使用Percona X...
  • 修改arpwatch使通知邮件主...
  • Linux 下的分区调整工具GP...
  • DELL PowerEdge 820 报CPU...
  • 程序员漫画:如何用8种不...
  • 解决很好用的多合一即时通...
  • 使用 GParted 进行虚拟机...
  • 解决Samba WINS服务的错误...
  • 解决Squid代理HTTP时在浏...
  • 用Delphi编写使用到ADO的D...
  • 网站简单改版
  • 索尼系列手提电脑备份失败...
  • Dell R900服务器 BMC firm...
  • 更多...

    内网DNS服务实现公网域名在内网转换解析
    作者:Sender  来源:WaveCN.com  发布日期:2022-05-20  最后修改日期:2022-05-20

      这个标题粗略看有点绕。详细描述如下:

      企业在内网建设了同时面向互联网公网环境和企业内网环境的信息系统,对内通过内网IP地址访问,对公网通过内网出口地址访问(SNAT)模式。为方便使用,在公网注册了域名,并把域名解析为内网出口地址,实现通过域名指向和使用信息系统。

      但问题随之而来:在内网无法通过域名使用信息系统。

      原因是,在企业内网访问这些域名对应的信息系统时,解析得到的内网出口IP地址,会被绝大多数路由器禁止直接访问。

      但公共DNS服务器并不支持条件解析,无法判断和实现当访问者处于企业内网时,把域名解析为内网地址。

      解决问题的办法,有两种:

      第一种是比较简单直接的做法,区分信息系统在内外网的域名,要求使用人在内网只能使用内网域名(或者直接使用IP地址)。

      这种做法的缺点很明显,首先对于使用人来说比较被动;其次如果信息系统具备移动APP,当移动设备通过WIFI接入之类方式接入内网时,APP难以分辨所处的运行环境是企业内网还是其它内网,结果导致APP无法在内网WIFI环境下使用。

      第二种方法就是本文要介绍的,通过配置内网DNS服务,实现内网DNS服务会把域名解析为内网IP地址而不是公网地址。由此,只要用户记住或者APP预设的指向方式都是域名,就可以实现无分内外网。

      具体设置办法:

      1、首先建立能正常运作的内网DNS服务(一般是缓冲转发模式),设置所有内网终端通过DHCP获得DNS服务器时一律只获得内网DNS服务地址。

      注:这样的好处还包括可以节省通过公共DNS查询域名的对外流量,提高内网用户打开信息系统的速度和上网浏览的速度;还可以进一步地加固网络安全,防止用户接触到恶意网站。可以参考:

    企业内网DNS服务器安全和性能基础实践

      2、然后,配置DNS服务,建立指定域名所对应的解析域,配置域名解析。这里要先确定尽可能是通过二级子域名去代表业务系统而不要使用主域名。

      具体配置文件例子如下(假设企业外部域名为domain.name,内网域为intranet):

    1、修改配置文件/etc/named.zones的域定义:

    zone "domain.name" IN {
            type master;
            file "named.dommain.name";
            allow-update { none; };
    };
    

    2、定义具体解析配置,比如/etc/named/named.domain.name,直接把公网DNS服务的完整配置(一般可以通过域名解析服务商的管理控制台获取到信息)复制到本地的配置文件。

    然后把需要解析为内部IP地址的二级子域名A记录修改解析的IP为内网IP地址,比如192.168.99.99:

    $TTL    86400
    @               IN      SOA     ns.intranet. root.ns.intranet.  (
                                          2022051900 ; Serial CHANGE THIS VALUE EVERY TIME YOU DO CHANGES TO THIS FILE
                                          28800      ; Refresh
                                          14400      ; Retry
                                          3600000    ; Expire
                                          3600 )    ; Minimum
                    IN      NS      ns.intranet.
    @               IN      MX      10      mxw.provider.com.
    @               IN      MX      5       mxn.provider.com.
    system          A       192.168.99.99
    mail            CNAME   mail.provider.com.
    smtp            CNAME   smtp.provider.com.
    pop3            CNAME   pop3.provider.com.
    www             A       xxx.xxx.xxx.xxx
    

    3、执行

    rndc reload
    

    激活新的DNS配置。

    4、在内网通过nslookup命令测试dns服务器是否工作正常,以及是否内外网DNS服务器会返回不同的结果:

    C:>nslookup system.domain.name ns.intranet
    服务器:  ns.intranet
    Address:  192.168.99.1
    非权威应答:
    名称:    system.domain.name
    Address:  192.168.99.99
    C:>nslookup system.domain.name 202.96.128.86
    服务器:  cache-a.guangzhou.gd.cn
    Address:  202.96.128.86
    非权威应答:
    名称:    system.domain.name
    Address:  xxx.xxx.xxx.xxx
    

    最后,别忘记务必要加固DNS服务器!

    欢迎关注微信公众号后私信讨论文章内容!
    本栏目相关
  •  2020-02-27 服务器热加硬盘、热转RAID模式,配合LINUX卷操作实现不重启服务器完成扩容
  •  2022-02-24 如何安装使用 Broadcom RAID卡命令行管理工具 StorCLI(或称PercCLI)?
  •  2022-05-13 2022年甲方系统管理运维人员必备远程访问工具
  •  2022-05-20 内网DNS服务实现公网域名在内网转换解析