NAT的应用可以让路由器在不同地址域内路由数据包。一个暴露在外的应用服务器,通常同时拥有了内网和外网的IP地址。这在DNS解析时可能带来麻烦。
根据DNS服务器的部署位置和配置,对同一内网中的应用服务器,它可能解析出其对应的内网或外网IP地址。而DNS请求者又会根据它与应用服务器的位置的不同,通常要求解析出应用服务器的内网或外网IP地址。具体有如下几种情况:
1》如果DNS服务器在外网,会解析出外网IP。
若请求者在内网,要求解析出内网IP。不符合
若请求者在外网,要求解析出外网IP。符合
2》如果DNS服务器在内网,其中配置应用服务器的内网IP,会解析出内网IP。
若请求者在内网,要求解析出内网IP。符合
若请求者在外网,要求解析出外网IP。不符合
3》如果DNS服务器在内网,其中配置应用服务器的外网IP,会解析出外网IP。
若请求者在内网,要求解析出内网IP。不符合
若请求者在外网,要求解析出外网IP。符合
针对不符合要求的DNS Reply,DNS Doctoring就可以把reply中的相应record在内外网中切换。
一般情况下,需要配置出哪些地址转换为哪些地址(有点像NAT,但是是在应用层)。注意DNS reply可以包含多个记录records,需要都考察到。修改后一些校验字段需要做相应调整。