外网域名和内网域名的本质区别在于解析边界外网域名在公网DNS上全局可达,内网域名只在内网DNS上生效,配置时靠建立独立内网解析或双视图DNS来分别管理。
网络世界里,域名就像一个门牌号,不过有的门牌号全世界人都看得见,有的门牌号只有你们小区内部的人知道,外网域名和内网域名就是这么一对”孪生兄弟”:长得像,管的事却完全不同,今天咱们就把它俩的脾气摸清楚,再教你一步步配好。
外网域名和内网域名到底怎么区分?
解析范围不同,这是最硬的分界线
外网域名,也叫公网域名,必须注册到公网DNS系统,任何一个连上互联网的终端,只要向全球根服务器体系发起递归查询,最终都能拿到它的解析结果,内网域名则完全反着来,它只在企业内部DNS服务器或者某个局域网段内生效,你拿一台没连内网的笔记本,用8.8.8.8去解析一个纯内网域名,得到的只能是”域名不存在”。
访问场景不同,试一下就知道
- 你在公司电脑上打开某个站点,输入的是公司内部简短的域名,比如
oa或erp。 - 回到家用电脑输入同样域名,发现打不开,甚至提示DNS错误。
- 这就是因为家里电脑找的是公网DNS,而公司电脑找的是内网DNS。
更直观的验证方法是命令工具,在Windows上按Win+R,输入cmd,然后敲:
nslookup 你的域名
如果返回的地址是168.x.x、x.x.x这类私有网段,那这个域名大概率被内网DNS接管了;如果返回的是公网IP,那它就是外网域名,Linux上可以用dig命令,效果类似。
域名后缀不决定内外网,但习惯上会分
行业共识认为,后缀本身不决定一个域名是内网还是外网,你完全可以把.com用在内网,也可以把.local正常发布到公网,不过现实中,内网域名喜欢用.local、.internal、.corp,外网域名则清一色是.com、.cn、.net,这是为了避免内网域名和公网域名撞车而养成的习惯。
内网域名和外网域名配置步骤详解
外网域名配置:注册、解析、验证三步走
外网域名买回来之后,配置过程大致如下:
- 在域名注册商后台完成实名认证。
- 进入DNS解析管理页面,添加A记录或AAAA记录,将域名指向你的公网服务器IP。
- 设置TTL,通常300到600秒,方便后续调整。
- 用
nslookup -type=A yourdomain.com 8.8.8.8验证解析是否生效。
这里有个细节:外网域名解析到的IP必须是公网可达的地址,如果你手头只有内网服务器,那还得先解决”外网域名访问内网服务器”的问题,这个后面专门讲。
内网域名配置:起一个内网DNS服务
公司里如果不做内网域名,大家天天记着一堆IP也太累,配内网域名其实不复杂,以Windows Server DNS管理器和Linux BIND为例:
- 准备一台干净的服务器,固定内网IP,比如
1.0.5。 - 安装DNS服务,Windows Server在”添加角色和功能”里勾选DNS;Linux用
yum install bind或apt install bind9。 - 打开DNS管理控制台,新建正向查找区域,名字随意,比如
corp.tide.com。 - 在这个区域里新建主机记录,把
erp.corp.tide.com指向内网IP1.0.88。 - 把内网电脑的优先DNS服务器改为
1.0.5,或者让DHCP下发这个地址。
这样就完成了最基本的”内网域名怎么解析”的配置,内网DNS必须配置转发器,否则内网用户就上不了外网了,在DNS服务器属性里找到”转发器”,填入简米云DNS或114.114.114.114等公共DNS。
双视图DNS:同一个域名内外网解析出不同IP
很多企业希望内部访问用内网地址,外部访问用公网地址,然后共用同一个域名,这时就要用上双视图(split DNS)。
以BIND9为例,需要在named.conf里定义两个view:
view "internal" { match-clients { 10.0.0.0/8; 192.168.0.0/16; }; zone "example.com" { type master; file "/etc/named/int.example.com"; }; }; view "external" { match-clients { any; }; zone "example.com" { type master; file "/etc/named/ext.example.com"; }; };
内网视图文件里的A记录指向私有IP,外网视图文件里指向公网IP,这样内网用户解析example.com得到0.0.5,外网用户得到0.113.10,Windows Server DNS也支持类似策略,在DNS界面里设置不同作用域即可。
业内专家指出,双视图DNS是企业里避免麻烦的最小代价方案。
外网域名访问内网服务器怎么实现?
场景很常见:你人在家里,想通过自己公司的域名查看内网摄像头或登录OA系统,这时候如果直接用公网域名解析到内网IP,是行不通的,因为公网路由器会丢弃发往私有地址的数据包,以下是三种主流方案。
端口映射加外网域名
- 在路由器上开通端口转发,比如把公网IP的80端口转发到内网服务器的
168.1.10:80。 - 外网域名解析到路由器公网IP。
- 外网用户访问域名,流量经路由器中转后到达内网服务器。
多数情况下,这个方案成本最低,但不是所有宽带都有公网IP,而且有些运营商分配给用户的是大局域网IP,没法直接映射。
内网穿透
- 在云服务器上运行FRP或者内网穿透工具。
- 内网服务器主动连出去,建立隧道。
- 把外网域名解析到云服务器IP,云服务器再把流量转发到内网服务器。
这类方案适合没有公网IP的环境,但会占用云服务器带宽,数据经过中间节点,延迟会略高。
DDNS加动态公网IP
- 如果你家或公司的宽带用的是动态公网IP,用DDNS动态解析服务把域名固定绑定到变化的IP上。
- 配合路由器端口映射,也能实现外网访问。
三种方案对比如下:
| 方案 | 有无公网IP | 配置难度 | 稳定性 |
|---|---|---|---|
| 端口映射 | 需要 | 低 | 高 |
| 内网穿透 | 不需要 | 中 | 取决于隧道服务 |
| DDNS | 动态公网IP | 中 | 高 |
内外网域名配置里的四个常见坑
内网域名和公网域名撞车
这是最让IT头疼的事,公司在内网用了一个已经注册的公网域名来做内部服务,内网DNS优先返回私有IP,结果到了外网访问这个域名却访问不到内网服务,解决办法是:内网统一使用一个独立子域,比如公网域名是example.com,内网用corp.example.com,从源头隔离。
内网DNS把外网域名也解析错了
有企业内网DNS把外网域名对应到了错误的内网IP,导致员工上不了外网,排查方法:先查内网DNS的权威区域是否包含该域名,再看转发器配置是否正常,推荐用dig @dns-server domain判断响应来源。
TTL设置过长
改了解析记录以后,等了几个小时还是老IP,这就是TTL设太长,调之前把TTL先降到60秒,等更新后再调回300或600秒。
安全策略缺失
内网DNS如果对公网开放,很容易被人用来放大DNS攻击,建议防火墙只允许内网网段访问DNS服务,并发流量也做合理限制。
回到开头的问题:外网域名和内网域名真的没那么难分,记住关键一句网络边界决定解析边界,解析边界决定内外网身份,配置时不要硬套同一个DNS,而是按访问范围分别落地,内网用户要的是快和稳,外网用户要的是可信和可达,两者各司其职,才算真正会配置域名。
外网域名和内网域名常见疑问解答
内网域名和外网域名可以一样吗?
能,但企业不要贪这个省事,如果非要一样,用双视图DNS隔离内外网解析结果,并保证内网视图里不得出现公网域名错误指向,否则后期排查DNS问题会非常痛苦。
内网域名怎么解析才不出错?
内网域名解析的关键是让内网主机的DNS指向内网DNS服务器,同时内网DNS要有转发能力,服务器自身地址最好手写DNS指向自己,避免依赖DHCP下发的内网DNS顺序。
外网域名可以解析到内网地址吗?
理论上可以配置,但没有任何实际意义,公网用户无法路由到私有地址,外网域名要访问内网服务,只能配合端口映射、隧道或云中转。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/722346.html





