内网与外网物理隔离还想用域名访问内部系统:隔离网自建DNS从零搭
有些单位的内网是真隔离:与外网不联通,办公系统全在里头跑。日子一长,全员的浏览器收藏夹里躺着一排 IP 地址——OA 一个、报表系统一个、文件服务器一个。哪天服务器换了个地址,或者来了新人,全网就得重新对表。于是有人问:这种连不了外网的内网,能不能也用域名访问内部系统?
能,而且这恰恰是域名系统本来干的事。很多人印象里「域名」是外网的东西,要注册、要花钱,其实它的本质就是一台「名字换地址」的查询服务:客户端问一句「这个名字是多少」,它答一个 IP。这套问答搬进隔离网里自建自用,完全成立——不需要注册,不需要公网,更不需要外网。隔离网反而更需要它:外网进不来的环境里,全员记 IP 是撑不久的——人记一排数字容易错,记一个短名字却很稳,oa、report、file 这类名字报出来谁都听得懂。
第一步,按环境选服务。内网已经是 Windows 域、有域控制器的,直接用 Windows 自带的 DNS 服务,跟域环境天然一套;Linux 服务器为主的环境,正统选型是 bind;规模小、就十几台机器的,轻量的 dnsmasq 也完全够用。
第二步,规划内部域名。给隔离网定一个内部专用的域名后缀,再列一张「系统名—地址」清单:每个内部系统起个短名字,逐条对上 IP。后缀别跟常用公网域名撞车,免得将来双轨或者对接外联时打架。
第三步,建区加记录。在选好的 DNS 服务上建一个正向解析区,把清单里每一条加成解析记录。这一步是体力活,但只需要干一次。
第四步,客户端指派。隔离网里一般也有内网的地址分配服务,把 DNS 服务器地址配置进去统一下发,全网客户端就都用它解析了;个别手工配静态地址的机器,单独改一处。规模上来了,再考虑配第二台 DNS 做主备——名字服务这种全网都依赖的东西,单台就是单点,这一步可以在跑稳之后补上。
第五步,验证。随便挑一台客户端,用 nslookup 查几个内部名字,能换出正确地址,就算成了。配了主备两台的,顺手把容错也验一下:主 DNS 停掉,看客户端的解析落不落到备机上——这类验证做在前头,比出事再排从容得多。
这套东西用出甜头,要等头一回变更:服务器换地址,只改 DNS 上的一条记录,全网的收藏夹不用动——当初记 IP 的苦,就是从这儿省回来的。往后每加一个系统,也就是清单上加一行、DNS 里加一条记录的事,其余什么都不用动。按等保要求做隔离的网络,内部系统的访问台账,顺着这张域名清单也能一并理清楚。贵州诚鑫致达科技参与隔离环境建设时,DNS 都排进头一批要搭的基础设施——名字体系先立起来,后面的系统才有处安放。你们的内网还在靠记 IP 硬扛吗?评论区聊聊。