内网DNS服务实现公网域名在内网转换解析

作者:Sender Su  来源:原创内容  发布日期:2022-05-20  最后修改日期:2022-05-20

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

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

article banner

笔者:国际认证信息系统审计师、软考系统分析师

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

  原因是,在企业内网访问这些域名对应的信息系统时,解析得到的内网出口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服务器!

本栏目相关
  •  2024-09-06 拿来主义也高质:优化 WSUS 之不会开发但会找
  •  2020-02-27 服务器热加硬盘、热转RAID模式,配合LINUX卷操作实现不重启服务器完成扩容
  •  2023-01-26 Windows服务器折腾安装MegaRAID存储管理器17.05版
  •  2022-02-24 如何安装使用 Broadcom RAID卡命令行管理工具 StorCLI(或称PercCLI)?
  •  2023-02-26 能否用Windows服务器作为路由器?(基本配置篇)
  •  2022-10-17 安装 MegaRAID 存储管理器集中监控 DAS 存储状态
  •  2022-12-03 VMware vSphere Hypervisor 6.7 手动升级过程实例
  •  2022-05-20 内网DNS服务实现公网域名在内网转换解析
  •  2023-04-08 Windows 服务器网络性能调优系列网卡篇
  • 本站微信订阅号:

    微信订阅号二维码

    本页网址二维码:

    本栏目热门内容
  • Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然...
  • LINKSYS交换机登录WEB界面显示不正确的解决方法
  • 又一次RAID 5阵列故障记录
  • 解决VMware vSphere ESXi 5.0 Update 1 中虚机不能...
  • 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET...
  • 解决虚拟化运行的 Windows Server 2003 标准版出现...
  • Windows Server 2008 重命名域和域控制器
  • Intel Nehalem CPU Errata 导致 VMWare ESXi(vSpher...
  • 一次很精神的电脑组装过程记录(但不是自己的电脑)...
  • 解决MySQL Cluster 备份总是失败,提示文件已存在的...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的问题
  • 解决 VMWare vSphere 6 客户端无法修改用户密码
  • 解决Windows Server 2008 R2域控制器显示无法连接到...
  • 本站服务器RAID 5阵列双硬盘失效挽救记录
  • 网站数据库从MySQL 5.0升级到5.6的记录
  • 解决MariaDB使用Percona XtraBackup增量备份出错
  • DELL PowerEdge 820 报CPU3 INTERNAL ERROR 的解决...
  • Linux 下的分区调整工具GParted实战
  • 修改arpwatch使通知邮件主题显示IP地址
  • 程序员漫画:如何用8种不同的编程语言去解救公主
  • 解决Samba WINS服务的错误解释问题
  • 解决很好用的多合一即时通信软件pidgin的崩溃问题
  • 使用 GParted 进行虚拟机硬盘分区调整操作
  • 解决Squid代理HTTP时在浏览器出现Content Encoding ...
  • 用Delphi编写使用到ADO的DLL的一些问题
  • 网站简单改版
  • 索尼系列手提电脑备份失败,出现700错误的解决办法
  • Dell R900服务器 BMC firmware incompatible with C...
  • 更多...