内网通过域名或公网IP访问ERP的解决方案
内网通过域名或公网IP 访问ERP 的解决方案内网通过域名或公网IP 访问ERP 的解决方案 Nov 18, 2014关键字公网IP 、路由回流、NAT 、DNS 、DNS Mapping。1. 需
内网通过域名或公网IP 访问ERP 的解决方案
内网通过域名或公网IP 访问ERP 的解决方案 Nov 18, 2014
关键字
公网IP 、路由回流、NAT 、DNS 、DNS Mapping。
1. 需求分析
ERP 系统安装部署完毕后,经常会遇到这样的问题,就是外网用户可以使用公网IP 能正常访问ERP 系统,但是内网用户却无法使用公网IP 访问ERP 系统,这个问题会经常遇到,解决的方法也有很多。那么为什么会出现这样的问题?解决问题前,首先介绍一下路由回流。
2. 路由回流
当用路由器防火墙等设备将内网服务器发布到公网上,供Internet 用户访问的过程中出现的一种现象,就是你发现web 服务器已经成功发布了,Internet 用户也已经可以通过你路由器公网接口地址成功访问了,而你却发现自己在内网中与web 服务器同网段的主机上直接访问那个路由器公网地址是无法访问到web 服务器的页面内容的,这就是路由回流。
造成路由回流的原因主要是出口设备路由器或者是防火墙做了NAT/PAT(也被称作源地址转换)和端口映射(也被称为目标地址转换)造成的。
举例说明,内网PC 的IP 地址为:192.168.1.10,内网ERP 服务器的IP 地址为:192.168.1.100,路由器外网接口IP 地址为:202.103.100.100,外网通过http://202.103.100.100就可以访问内网的ERP 服务器192.168.1.100,当然在出口设备上目标地址转换已经完成。
第 1 页 共 5 页
,
ERP 服务器 当内网PC 通http://202.103.100.100访问内网服务ERP 服务器的时候,源地址为:192.168.1.10,目标地址为:202.103.100.100,内网PC 发现202.103.100.100和自己的IP 地址192.168.1.10不在一个网段,会查找路由表,将数据包发给路由器。当路由器接到请求后,做目标地址转换,此时源地址不变,还是192.168.1.10,但是目标地址变为:192.168.1.100。内网WEB 服务器会应答,应答的源地址为自己的IP 地址:192.168.1.100,目标地址为:192.168.1.10,此时源地址和目标地址在同一个网段,不需要查找路由表,也就是说不需要经过路由器,只需要在交换机上查找MAC 地址表,做转发就可以了。
问题就出现在上面,内网ERP 服务器做出的应答,内网PC 收到后,发现应答的源地址是192.168.1.100而不是202.103.100.100,内网PC 收到数据包后,会把数据包丢弃,然后内网PC 会一直等啊等,等源地址为:202.103.100.100,目标地址为自己IP :192.168.1.10的数据包,但是一直到超时都等不到,最终结果可想而知。
同样,192.168.1.100等待192.168.1.10的应答,也同样等到超时也等不到应答。
HTTP 协议是基于TCP 的,以上发生在TCP 的三次握手阶段,TCP 三次握手无法完整的建立。
说明:后面的配置都以此拓扑图为例。
3. 解决方案
已经知道了路由回流是造成内网用户无法使用公网IP 访问ERP 系统的原因,那么怎么解决呢?解决方法有多种,下面分别介绍几种解决方案。
3.1 内部NAT 解决方案
第 2 页 共 5 页
,内网通过域名或公网IP 访问ERP 的解决方案
路由器上除了g0/0/1接口上配置端口映射(目标地址转换),外网用户通过访问http:// 202.103.100.100就可以访问ERP 服务器192.168.100了,如果要内网用户也可以通过http:// 202.103.100.100访问ERP 服务器192.168.100,还需要在路由器的g0/0/0接口上配置端口映射(目标地址转换)。这里以华为路由器为例,其它厂商的路由器请自己查找相关资料配置。
[R1]acl number 2000
[R1-acl-basic-2000]rule 0 permit source 192.168.1.0 0.0.0.255
[R1-acl-basic-2000]rule 1 deny
[R1-acl-basic-2000]quit
[R1]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]nat outbound 2000
[R1-GigabitEthernet0/0/2]nat server protocol tcp global 202.103.100.100 80 inside 192.168.1.100 80
[R1-GigabitEthernet0/0/2]quit
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]nat outbound 2000
[R1-GigabitEthernet0/0/0]nat server protocol tcp global 202.103.100.100 80 inside 192.168.1.100 80
红色字体部门就是内部NAT 配置。
3.2 内网DNS 解决方案
按照我们一般的习惯,访问网站一般采用域名,这样方便记忆,同样访问明源ERP 系统的时候采用域名比采用IP 要方便,注册域名让公网IP 同域名绑定,外网用户就可以使用域名访问明源ERP 系统了。那么内网用户如何才能使用域名正常的访问明源ERP 系统呢?

ERP 服务器
内网用户能否直接使用外网的域名访问明源的ERP 系统能,直接访问是不行的,因为还是存在路由回流的问题,所以需要在内网配置一台DNS 服务器,内网的所有客户端的DNS 的IP 都填写这台内网的DNS 服务器
第 3 页 共 5 页
,内网通过域名或公网IP 访问ERP 的解决方案
的IP 地址,那么问题来了,内网的用户要想访问外网像百度这样的网站该怎么办呢,这个很容易解决,只需要在内网DNS 服务器上配置转发器,转发器中填写公网上的运营商DNS 服务器的IP 地址就可以解决问题了。内网DNS 服务器可以搭建在Windows Server 2003/2008上。
3.3 防火墙 DNS Mapping解决方案
DNS Mapping应用于内网用户通过域名访问内网服务器,设置DNS Mapping后,当内网用户发送DNS 请求的时候,防火墙设备主动将域名解析成服务器的内网IP 地址,返回给客户端,客户端实际是直接访问服务器的内网IP ,不需要经过NAT 转换。
域名填写:erp.mysoft.com.cn ,公网IP 地址填写:202.103.100.100,内网IP 地址填写:192.168.1.100。
如果公司内部没有DNS 服务器,如果有防火墙,防火墙支持DNS Mapping ,也可以解决路由回流的问题。注意不是所有的防火墙都支持路由回流,购买前请咨询防火墙厂商。
说明:该截图为深信服防火墙的配置界面。
3.4 路由器 DNS Mapping解决方案
路由器的DNS Mapping 和防火墙的类似,只是将出口的防火墙换成路由器而已,配置略有差异,这里以华为路由器为例,配置DNS Mapping,其中ERP 服务器的域名为:erp.mysoft.com.cn ,内网IP 地址为:192.168.1.100,80为ERP 服务器的端口号,tcp 是因为http 协议是基于TCP 的。
[R1] nat dns-map erp.mysoft.com.cn 192.168.1.100 80 tcp
3.5 其它解决方案
这种解决方案不是常规的解决方案,但是在某些情况可以考虑。一般服务器有多块网卡,此处是给服务器另外一块网卡配置公网的IP ,但是该服务器的这块网卡不能直接配置网关,需要使用命令配置,同时该网卡的网关在核心交换机上。这样使用公网的IP 访问ERP 服务器的时候,不需要经过出口的防火墙或者路由器,直接通过核心交换机实现不同VLAN 之间的路由。

第 4 页 共 5 页
,
ERP 服务器
ERP 服务器上,在命令行下输入:
route add 192.168.1.0 mask 255.255.255.0 202.103.100.101 –p
核心交换机上的配置:
[switch]vlan 100
[switch-vlan100]quit
[switch]interface GigabitEthernet 0/0/1
[switch-GigabitEthernet0/0/1]port link-type access
[switch-port-group-defa]port default vlan 100
[switch-port-group-defa]quit
[switch]interface vlan 100
[switch-Vlanif100]ip address 202.103.100.101 255.255.255.0
[switch-Vlanif100]quit
4. 小结
上述几种解决方案中,内网DNS 解决方案最符合一般人的习惯,安装配置也是最简单的,但是需要一台DNS 服务器,如果访问量不大,可以考虑将DNS 服务器和其他的服务器合并,如果是域环境,首选内网DNS 解决方案,因为域控制器需要有DNS 支持。
内部NAT 解决方案在企业级的路由器或者防火墙上很容实现,但是难度比内网DNS 方案略大。
防火墙DNS Mapping 和路由器DNS Mapping 需要防火墙和路由器支持,目前大多数防火墙和路由器支持,但是购买前请咨询厂商。
其它解决方案不是推荐的解决方案,一般要求ERP 服务器要能连接到三层交换机上才能实现。
第 5 页 共 5 页