DNS服务器在公网,内网有多个WEB服务器映射到公网,现在内网终端需要使用公网域名的方式访问内网服务器
故障现象:使用内网终端通过域名***.***/访问内网服务器web页面正常,但是点击该web页面的个别其他链接无法打开
点击红框的连接无法打开页面,页面一直无法加载出来
1、首先观察问题现象,内网终端通过主页的web页面打开其他链接时,URL端口号发生变化
主页web页面缺省使用http协议的80端口访问
在点击主页链接时,URL端口号发生变化,两个链接端口号从80分别变为了9002和8001,说明这两个链接单独使用的9002和8001端口提供web服务
2、公网直接访问映射的地址+端口号正常
3、检查设备配置
#
nat alg h323
nat alg ils
nat alg mgcp
nat alg nbt
nat alg rsh
nat alg sccp
nat alg sip
nat alg sqlnet
nat alg tftp
nat alg xdmcp
nat dns-map domain ***.*** protocol tcp ip XXX.XXX.128.22 port 80
#
interface GigabitEthernet0/1
port link-mode route
combo enable copper
ip address XXX.XXX.128.22 255.255.255.192
nat outbound
nat server protocol tcp global XXX.XXX.128.22 80 inside 192.168.1.91 80
nat server protocol tcp global XXX.XXX.128.22 8001 inside 192.168.1.191 8001
nat server protocol tcp global XXX.XXX.128.22 8010 inside 192.168.1.110 6080
nat server protocol tcp global XXX.XXX.128.22 8011 inside 192.168.1.111 8001
nat server protocol tcp global XXX.XXX.128.22 8020 inside 192.168.1.110 8020
nat server protocol tcp global XXX.XXX.128.22 8021 inside 192.168.1.110 8021
nat server protocol tcp global XXX.XXX.128.22 8022 inside 192.168.1.112 6080
nat server protocol tcp global XXX.XXX.128.22 8023 inside 192.168.1.112 8023
nat server protocol tcp global XXX.XXX.128.22 8024 inside 192.168.1.112 8024
nat server protocol tcp global XXX.XXX.128.22 8025 inside 192.168.1.191 6080
nat server protocol tcp global XXX.XXX.128.22 8026 inside 192.168.1.191 8026
nat server protocol tcp global XXX.XXX.128.22 8027 inside 192.168.1.111 6080
nat server protocol tcp global XXX.XXX.128.22 8028 inside 192.168.1.111 6080
nat server protocol tcp global XXX.XXX.128.22 8029 inside 192.168.1.91 6080
nat server protocol tcp global XXX.XXX.128.22 8081 inside 192.168.1.124 8081
nat server protocol tcp global XXX.XXX.128.22 8088 inside 192.168.1.191 8088
nat server protocol tcp global XXX.XXX.128.22 8089 inside 192.168.1.191 8089
nat server protocol tcp global XXX.XXX.128.22 8887 inside 192.168.1.110 6080
nat server protocol tcp global XXX.XXX.128.22 9001 inside 172.16.1.2 8001
nat server protocol tcp global XXX.XXX.128.22 9002 inside 192.168.1.134 9002
nat server protocol tcp global XXX.XXX.128.22 9797 inside 192.168.1.191 9797
nat server protocol tcp global current-interface 9898 inside 172.16.1.2 3389
#
通过配置可以发现,使用了nat dns-map domain指定了域名和IP地址+端口的映射关系,内网访问公网域名时,公网域名服务器解析出来nat server的global地址和对应端口号进行内网服务器访问
对使用DNS-map场景说明如下:
DNS服务器在外网,应用服务器在内网(在NAT设备上有对应的nat server配置),内网用户需要通过域名访问内网应用服务器的场景中,NAT设备对来自外网的DNS响应报文进行DNS ALG处理时,由于载荷中只包含域名和应用服务器的外网IP地址(不包含传输协议类型和端口号),当接口上存在多条NAT服务器配置且使用相同的外网地址而内网地址不同时,DNS ALG仅使用IP地址来匹配内部服务器可能会得到错误的匹配结果。因此需要借助DNS mapping的配置,指定域名与应用服务器的外网IP地址、端口和协议的映射关系,由域名获取应用服务器的外网IP地址、端口和协议,进而(在当前NAT接口上)精确匹配内部服务器配置获取应用服务器的内网IP地址。
在实际测试过程中,内网终端访问对应域名,通过公网DNS服务器回包载荷包含域名和应用服务器的外网IP地址,在通过设备的DNS-map映射对应的协议和端口号80,此时访问web页面主页80端口服务正常
但是当点击主页的其他链接时,对应的端口号发送变化,不再是80端口,且通过nat server对应9002和8001rule可见,内网服务器对应的地址也不再是主页的地址,通过DNS-map+nat server配置指定后出现一个域名对应多个IP和端口的情况,导致主页的其他链接无法通过dns-map指定的映射关系是有访问
问题原因就是因为配置联动DNS-map指定了映射IP和端口,导致超链接的IP和端口变了无法访问
undo nat dns-map domain ***.*** protocol tcp ip xxx.xxx.128.22 port 80
直接使用nat server+nat hairpin实现使用公网地址访问内网服务器
内网终端访问***.*** 域名,通过公网DNS服务器解析出公网地址,通过nat hairpin实现内网终端访问内网服务器,避免DNS-map把域名、IP和端口写死
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作