[转载]有关FW/NAT导致的内外部DNS记录不一致的问题的N种解法
文章作者:xxbin[NBO]环境:
Internet----------FW/NAT----------Switch---------- Server
|-------------- Inside Client
or
|-------------Server
Internet----------FW/NAT----------Switch---------- Inside Client
Server拥有自己的内部IP
FW/NAT上对Server做了映射,对外有个外部IP
在通常的情况,内部网络的客户端只能用内部IP访问服务器,Internet的客户端只能用外部IP访问服务器,这样就存在一个问题,内外部的DNS记录不一致:
对于Internet上的客户端来说,DNS记录应该这样――Server IN A 202.xxx.xxx.xxx
对于内部网络的客户端来说,DNS记录应该是内部IP――Server IN A 192.168.xxx.xxx
如何来解决这个问题就是我们所要讨论的问题。
解决方法
1>双DNS或者变相的双DNS服务器
DNS服务器对来自Internet的查询请求返回外部IP,对来自内部网络的查询请求返回内部IP,可以通过双DNS来实现,既在NAT外部(或者用映射的方式)放置一台外部DNS服务器,响应来自Internet的查询请求(请注意此服务器必须是负责你的域名domain的DNS服务器,也就是说你的domain的SOA和NS记录都应该指向此服务器);在内部网络放置一台内部DNS服务器,提供来自内部的DNS查询,内部DNS服务器把自己的放置在内部网络或者DMZ的做了映射的服务器的相关DNS记录解释为内部IP,这样内部网络客户端就可以通过域名来访问你的服务器资源了。
变相的双DNS服务器可以参考 天天 的帖子 在防火墙环境下DNS的安装与设置
2>alias
这是PIX的特殊扩展了,其它的NAT不支持的说,请参考 PIX,nat和dns的一个问题 and PIX alias
3>在防火墙和internet router之间使用私有地址
偶对这种实现理解不深,根据麦子的说法:
[quote]大意是说Router和PIX之间用私有地址,然后把真地址配在PIX DMZ, 路由器把到真地址的路由指向PIX,PIX的默认网关指向Router.
internet
|
|192.168.1.0/24
|
PIX -- 99.99.99.99(www)
|
|
|
Inside
DMZ和OUTSIDE之间不用做NAT,都能通过同一个外网真地址来访问WWW服务器。[/quote]
这种方式需要在Internet入口路由器上做NAT。
4>内部网络客户端直接用外部地址访问服务器???
除了上面第3点的做法,还有其它方法可以使得内部网络客户端直接用外部地址访问服务器么?
按照默认的NAT配置,某些NAT是可以支持内部网络可以直接使用那个映射出来的外部IP访问服务器,but ―― 偶只是吹牛的人,不知道具体哪些或者哪些NAT软件支持这种方式,各位来讨论一下?
bug也在一篇帖子(请教,访问内部Web Server的问题!)提出了在服务器另加一外部IP,并配置ROUTER/FW/NAT把此段IP作为内部网段的方式来实现这个功能,不过偶还是想不通这样能行么?哪位老大详细解释一下?
写到这里,就已经象孔乙己了,解决FW/NAT环境下的内外部DNS记录不一致的N中解法,FT!
不罗嗦了,偶帖子仅仅是把各位的帖子的内容整理了一下,希望能够给有此问题的人一个比较清晰的解决问题的途径。 [b]bug[/b] Said:
[quote][b]3>在防火墙和internet router之间使用私有地址
偶对这种实现理解不深,根据麦子的说法:
QUOTE
大意是说Router和PIX之间用私有地址,然后把真地址配在PIX DMZ, 路由器把到真地址的路由指向PIX,PIX的默认网关指向Router.
internet
|
|192.168.1.0/24
|
PIX -- 99.99.99.99(www)
|
|
|
Inside
DMZ和OUTSIDE之间不用做NAT,都能通过同一个外网真地址来访问WWW服务器。
这种方式需要在Internet入口路由器上做NAT。[/b]
这个办法是可行的。
其实还有一种办法,就是使用SONICWALL的防火墙。
这个防火墙有一个好处是在DMZ区用真实的IP,服务器都放在DMZ里面。
后来想想,其实在一般的防火墙里面也可以做,就是DMZ区和INTERNET外网不作NAT转换,DMZ区使用INTERNET 的IP,DMZ区和内网直接走路由,内网和INTERNET走NAT。[/quote]
页:
[1]