Skip to main content

 路由器设置 > 新闻资讯 >

如何通过公网IP经过防火墙访问内网服务器

2014-05-28 01:54 浏览:


在使用防火墙发布内网服务器的情况下,我们会遇到这样的问题,内网通过服务器映射后的公网IP地址无法访问内部服务器,恰恰用户又需要内外网来回移动必须使用公网IP而无法使用内网IP来访问。作为一个普普通通的需求,却成了个难题,各厂家也给出了解决方案。

这里以Cisco ASA5510防火墙为例,可以尝试如下解决办法:

默认情况下,企业内网inside计算机无法通过公网IP访问到inside区域内的服务器。因为Cisco防火墙不允许inside入向流量不经过其它接口而直接从inside返回,如果出现这样的数据包那么防火墙会直接丢弃。

通过查询互联网信息,目前针对Cisco防火墙主要有3种,

第一种方式是Alias + static NAT,配置别名。

原理就是内部的计算机到外部进行DNS查询时,ASA根据别名配置,将返回的公网IP替换成私网IP,这样其实内部计算机直接使用私网IP访问WWW服务器。(可以使用ping 域名查看返回的IP地址进行验证)

alias (inside) 192.168.0.2 111.10.8.1 255.255.255.255

static (inside,outside) 111.10.8.1 10.201.80.17 netmask 255.255.255.255 dns

第二种方式是DNS Doctoring + static NAT。

原理同Alias,是更新版本IOS的功能。在7.0以上的版本中已不推荐使用Alias(若使用了Alias,则ASDM会提示不支持Alias而无法加载配置)。

第三种方式是 Hairpinning +static NAT。(需要7.2及7.2以上版本)

原理是允许inside进来的流量,未经其它接口出去而直接从inside接口返回。

相关的命令是:same-security-traffic permit intra-interface 俗称:Hairpinning

摘取Hairpinning相关配置如下:

 

1、same-security-traffic permit intra-interface

!--- 启用Hairpinning功能,允许流量直接原路径返回。

 

2、nat (inside) 1 192.168.100.0 255.255.255.0

!--- 为内网用户访问公网定义NAT

 

3、global (outside) 1 interface

!--- 为内网用户访问公网定义global地址。

 

4、global (inside) 1 interface

!--- 为内网用户使用Hairpinning访问内部服务器定义global地址。

 

5、static (inside,outside) 8.8.8.8 192.168.1.8 netmask 255.255.255.255

!--- 使用Static NAT映身一台服务器,公网IP 8.8.8.8,内网IP 192.168.1.8

 

6、static (inside,inside) 8.8.8.8 192.168.1.8 netmask 255.255.255.255

!--- 为Hairpinning流量返回路径定义NAT映射:8.8.8.8 ----> 192.168.1.8

 

7、access-list outside_access_in extended permit tcp any host 8.8.8.8 eq 80

!--- 配置ACL对外发布WWW服务,端口为80

 

8、access-group outside_access_in in interface outside

!--- 将ACL应用到外部接口。