H3C防火墙——回环流量问题(内网终端通过外网IP访问内部服务器)

拓扑如下:

环境描述: 

内网两个网段通过防火墙的NAT功能上网,内部WEB服务器:10.1.20.200 映射到公网80端口,配置信息如下:

acl number 2000
 description NAT_SOURCE
 rule 5 permit source 10.1.20.0 0.0.0.255
 rule 10 permit source 192.168.10.0 0.0.0.255
interface GigabitEthernet0/0
 port link-mode route
 nat outbound 2000
 nat server 20 protocol tcp global current-interface 80 inside 10.1.20.200 80
 ip address 124.133.33.223 255.255.255.0
interface GigabitEthernet0/1
 port link-mode route
 ip address 172.19.10.253 255.255.255.0

经过以上配置后,公网可正常访问WEB服务器,但如果内网用户使用公网地址124.133.33.223访问WEB服务器时会失败,网上大多数参考资料分析的流量过程如下图:

分析:

客户端发出的请求经过防火墙的映射转换,修改了数据包的目的地址,数据最终由WEB服务器直接发送到了客户端,而此回复被客户端判定为非法的(请求的是124.133.33.223但得到的10.1.20.200的回复),导致访问失败。

我使用的H3C F100-SG 防火墙, 在10.1.20.200 WEB服务端通过抓包发现,此过程并未发生,即客户端的请求数据并未达到WEB服务端,而是在达到防火墙后便中断了传输。此现象说明,数据包在到达防火墙之后,防火墙并未做相应的端口映射操作,而是经过了路由判断之后作为访问本地的服务进行了处理。

说明:正常情况下,访问124.133.33.223的80端口会经过映射转换,但此时并未发生,而是直接当做访问本地80端口这一操作进行了处理,例如: 如果防火墙的web管理端口是80,此时我们内网通过公网地址访问80端口时,会得到防火墙的web管理界面,此操作已经过实验证实。

其实通过配置信息也能看出来,我的DNAT是在WAN(0/0)口上做的配置,外网用户的请求从此端口进入首先会经过DNAT的映射转换,然后经过路由判断之后转发给了WEB服务器,而内部客户端的流量是从LAN(0/1)口进入,所以并未发生DNAT转换,而是直接进行了路由判断(发送给自己,自己处理)。

以上现象流量图如下:

如果想实现内网客户端正常访问WEB服务器,首先要做的就是实现DNAT的转换,既然此配置只在所属接口上起作用,那么就在LAN口上做一下配置即可; 实现此操作之后,流量便引到了WEB服务器上,即文章中第二张图所显示的流量过程,此时访问失败的原因就是WEB服务器直接回复了客户端的请求,如果让WEB服务器的回复数据再次经过防火墙,并进行DNAT的映射还原操作即可,我们通过配置LAN口的SNAT来实现,配置如下(其他配置不变,只修改LAN口配置):

interface GigabitEthernet0/1
 port link-mode route
 nat outbound 2000
 nat server 20 protocol tcp global 124.133.33.223 80 inside 10.1.20.200 80
 ip address 172.19.10.253 255.255.255.0

流量图如下:

客户端的请求流量被防火墙的DNAT引到WEB服务器,因为防火墙的之前的SNAT操作,使得WEB服务器的回复数据必须再次经过防火墙,防火墙经过NAT的映射关系进行还原操作,最终回复数据达到客户端。

时间: 2024-10-23 01:24:45

H3C防火墙——回环流量问题(内网终端通过外网IP访问内部服务器)的相关文章

内网通过域名及公网IP访问WWW服务器情况汇总

一.网络环境及问题描述 网络环境: 1.内部网络办公网划分VLAN10 网段:192.168.1.0/24 网关位于核心SWA 2.DMZ网络划分至VLAN20 网段:192.168.2.0/24  网关位于核心SWA 3.管理网段划分VLAN100 网段:192.168.100.0/24 网关位于核心SWA 4.出口路由器RT:公网地址为111.111.111.2 ,E1口地址为192.168.100.2 5.web服务器www.abc.com,IP:192.168.2.2 并在出口RT上配置

内网PC通过NAT server公网地址访问内部服务器时TCP三次握手不成功

公网地址访问内部服务器时TCP三次握手不成功   一.  背景 在上图所示的网络中,PC 及Server属不同LAN,都是zone trust.为了让Internet用户能够访问到Server,FW上部署了NatServer:nat server global A.B.C.D inside 192.168.51.M也就是将公网地址A.B.C.D映射到192.168.51.M.完成上述配置后,Internet用户能够通过A.B.C.D这个公网IP访问Server.但是内网的PC在访问Server的

如何简单使用ngrok,将网站内网映射到外网

由于最近实验室的需要,需要对每个网站制作demo版本进行展示(区分于正式版本),就准备使用ngrok进行内网映射到外网. Google一番后发现国外的ngrok.com没办法访问,苦苦寻找后发现了一个国内的站点:http://www.ngrok.cc/ 直接下载win 64位版本的. 下载解压后,文件夹中包含了ngrok.exe和ngrok.cfg两个文件 同时保证本地的服务器已经启动.如图本地我开启了tomcat服务器 18080端口. 这时我们通过cmd 到达下载好的ngrok目录.(如果直

〖Network〗宿舍配置两路由器,同时访问校园内网和校园外网

环境: 校园宿舍, 10.x.x.x 和 172.16.x.x~172.31.x.x是校园内网,本科教务系统什么的都在上边 路由器: 路由器1(校园内网):水星MR807 路由器2(拨号上网):TP Link WR740R 达成目标: 宿舍成员通过路由器2正常访问校园外网,同时,可以正常访问校园内网. 操作步骤: 一.配置路由器1(校园内网) 1. 修改路由器地址从192.168.1.1到192.168.1.2: 登录192.168.1.1 -- 网络配置 -- LAN -- IP地址 -- 输

把内网映射到外网的步骤教程

内网映射到外网的工具 ngrok可以将内网映射到公网,这样就可以访问本地的网络服务 用法: 打开自己电脑的cmd 一.ngrok 8080 本地Tomcat的端口号. 二.输入ngrok -config ngrok.cfg -subdomain example 8080(国内域名)(example  可以根据自己的变)[国内] 可以参考帮助文档 : http://www.tunnel.moi/ ngrok.cfg 官网文档上下载 放到 ngrok里面

内网主机通过外网地址访问内网服务器

网关设备一般都具有NAT功能,分别为源地址NAT.目标地址NAT,这两种功能应用比较普遍,各厂商都有很标准的实现方式.但是对于"内网主机通过外网地址访问内网服务器"这一场景,各厂商的实现不通,下面就这个场景,分别说一下各厂商的实现.1.华为2.华三内网用户通过NAT地址访问内网服务器1组网需求 · 某公司内部网络中有一台FTP服务器,地址为192.168.1.4/24. · 该公司拥有两个外网IP地址:202.38.1.1和202.38.1.2. 需要实现如下功能: · 外网主机可以通

如何将网页发布到IIs,并使用花生壳内网映射到外网。

今天做了一个网页,想发布到IIS上,结果提示未安装发布所需的扩展,Google了一下说是Vs安装有问题,要么重装要么修复,奈何时间不允许,本身网页也比较简单,一个Html页面+几个css和Js文件夹,索性在Vs里新建了一个网站,运行没问题后,打包发布网站. 而后在IIs管理器中添加网站 IIS怎么下载,怎么打开扩展功能,园子里很多了,不赘述,配置完成浏览看到正确页面,证明网站已经正式发布在IIS上了. 而后用花生壳添加对外网的映射. 内网Ip地址加IIs网站端口号映射到外网域名.(花生壳需要注册

内网机连外网教程

内网机192.168.141.137 外网机:192.168.1.105 使用到软件有:SocksCap64, htran.exe 内网机可以ping通外网机,而外网机不能直接连通到内网机.内网机开启了3389远程协助. 内网机 C:\Documents and Settings\Administrator>"C:\Documents and Settings\Administrator \桌面\htran.exe" -s -connect 192.168.1.105 670 内

花生壳把内网站点发布外网访问

1. 在 http://www.oray.com/ 花生壳官网注册一个账户,注册完成后系统会送你一个免费域名 2. 下载花生壳2.2内网版,并且安装 3. 打开新花生壳客户端,登录后会看到这样的主界面 4. 右键你的域名,点击"新花生壳管理" 5. 点击添加映射,然后输入你的服务器信息 最后完成,这个时候你就可以访问你的域名了,它会解析到你在内网部署的这台服务器,我们就毫无压力地把自己的站点发布到外网上去了. PS: 我在实施的过程中遇到一点小问题,记录一下:就是一开始注册的账户没有开