文章背景:由给leader的邮件而来,在文章末尾另加了一些补充(见FAQ)。原主题:关于公司内网DNS服务器中的u-sooc.com域名调整建议

建议:将公司内部DNS服务器(Windows  Server 2008 R2)所维护的u-sooc.com域名与公网DNS服务器合并为一个,仅使用公网DNS服务器进行解析(同时提供内网解析和外网解析)

问题背景:由于公司所购买的域名是由万网提供的,并且DNS服务器也是万网的DNS服务器,万网的DNS服务器不允许其他服务器作为从服务器使用。当添加新的实际生产(用户使用)域名解析记录时,公网DNS服务器和内部DNS服务器都需要同时维护,既可能导致新解析的与域名紧密相关的应用无法使用,又会导致不必要工作量增加,因此建议可将公司内部DNS服务器所维护的u-sooc.com域名与公网DNS服务器合并为一个。

当前情况(与操作方法):当前仅有三个域名记录解析的是公司内部的IP地址(大部分研发和测试使用的是未注册的专用域名(相当于内网IP地址和公网IP地址的区别)),而这三个域名记录均没有用于实际生产环境,因此可以将这三个记录添加到公网DNS服务器中,一旦完成添加,内网DNS服务器的u-sooc.com域名即可立刻停止使用并解决了当前存在的问题。对于用户而言,用户不会访问这三个域名,对于用户而言,用户是不可知的,而对公司的开发测试人员是透明的。

应用场景:

场景一,员工(用户)工作在内部环境:DNS服务器默认为公司内部DNS服务器,此内网DNS服务器必须提供开发测试(公司内部使用)所需的域名解析地址和实际生产(用户使用)用的域名解析。

场景二,在外网环境:DNS服务器默认为公网DNS服务器,此环境下用户只需要访问实际生产(用户使用)用的域名解析地址,而不需要使用提供开发测试(公司内部使用)所需的域名解析地址

场景三,内网和外网的混合环境(例如Wifi(有线网络)环境中为内网环境,2G/3G/4G移动网络为外网环境),此场景与场景一相同。

按照建议更改后:

所有的客户端将不再为域名服务器的设置问题存在任何担忧,也不需要为公司停电或内部DNS服务器发生故障导致外部实际生产(用户使用)在公司内部无法解析。由于内部DNS服务器不在为此域名提供解析,它会自动的转发到外网DNS服务器提供解析(原理参见DNS背景知识),直至找到此域名的DNS服务器返回正确的结果。

DNS背景知识:客户端(PC、手机等)查询DNS服务器时仅查询第一个可用的DNS服务器,一旦所查询的域名为这个DNS服务器所管理,但却无法获取正确的解析结果,则这个服务器会立刻返回错误(比如找不到或其他错误),而不会查询另一个可用的DNS服务器。(因此,当同时存在内部DNS服务器和外部DNS服务器时,仅能使用一个DNS服务器地址,而不能同时使用两个。)

需要注意:研发测试用的域名不能实际生产用的域名相同,因为一般情况下,研发测试用的域名一般对应的是内部IP地址,而实际生产用的域名是公网IP地址。一旦相同时,由于公网DNS服务器提供商不会针对内网线路设置单独的解析策略,会导致这种冲突无法解决,因此只需要开发和测试在域名记录的命名上与用户实际使用的域名分开即可。

【补充】FAQ:

Q1:为什么不自建DNS服务器?

A1:公司内部机房经常因为节电或电力故障导致停电,导致DNS服务器将无法提供高可用服务,不如使用万网运营商的DNS服务器(其他解决方案例如利用云主机自建DNS服务器,或者使用其他相同解决方案提供商提供的产品或方案,如dnspod之类的)

Q2::为什么不是用主从DNS?

A2:从服务器无法维护(增删改)域名记录,需要操作主服务器,而且主从同步需要较长的时间,甚至存在缓存问题。

Q3:为什么不使用条件转发或区域转发?

A3:理论上讲是可以的,尚未测试,待测试

Q4:为什么不使用视图(策略解析或条件解析)

A4:理论上讲是可以的,尚未测试,部分Windows自带DNS服务器暂不支持,待测试