H3C防火墙的dns-map功能
以前针对私网用户如何用公网域名访问本地私网内的SERVER这样的解决方法,一般是在内网建立DNS服务器,针对用户的这种需求,华为在v3.4-0108版本后,提供了一种内网用户通过外网域名直接访问内网服务器的方法-dnsmap。natdns-map命令实现了对由外网发往内网的DNS应答报文作网络地址转换的同时,替换报文内容中A类应答的IP地址。也就是在替换dnsresponse报文IP头中的目的地址的同时,也替换了报文内容中域名和IP地址映射关系。
【命令】
natdns-mapdomain-nameglobal-addrglobal-port[tcp|udp]
undonatdns-mapdomain-name
【参数】
domain-name:可被外部DNS服务器正确解析的合法域名。
global-addr:提供给外部网络访问的IP地址(一个合法的IP地址)。
global-port:提供给外部网络访问的服务的端口号。
tcp:表示IP协议承载的协议类型是TCP。
udp:表示IP协议承载的协议类型是UDP。
配置dns-map后的处理流程:对外网DNSserver发向内网PC的DNS回应报文中,如果该报文中包含的域名是使用dns-map命令中定义的,那么替换该报文中的公网地址为使用natserver命令映射的私网地址。
【参考配置】
#
natdns-mapwww.zjb.org.cn61.×.×.9480tcp
natdns-mapftp.zjb.org.cn61.×.×.9421tcp
natdns-mapsmtp.zjb.org.cn61.×.×.9425tcp
natdns-mappop.zjb.org.cn61.×.×.94110tcp
#
natserverprotocoltcpglobal61.×.×.94wwwinside192.168.100.10www
natserverprotocoltcpglobal61.×.×.94smtpinside192.168.100.10smtp
natserverprotocoltcpglobal61.×.×.94pop3inside192.168.100.10pop3
natserverprotocoltcpglobal61.×.×.94ftpinside192.3.1.111ftp
#
DNS-MAP在配置过程中,会增加一条DNSName和NAT外网IP的对应关系。比方说
aa.com.cn59.151.1.1
想知道它的工作原理是截获DNS请求包,还是应答包。
如果是截获请求包,原理就是当发现aa.com.cn的DNS解析请求,就自动返回59.151.1.1对应的内网IP.
如果是截获应答包,原理就是当发现aa.com.cn的DNS解析应答,且返回的解析结果是59.151.1.1,就把它修改为对应的IP?
做了个测试,验证确认是截获应答包的。
截获应答包匹配dns-map记录,与截获请求包直接返回,效果是不一样的。如果效果是一样的,我也就不关心它怎么实现了。
|
|