[原创]远程客户端与服务器之间防火墙问题_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
3
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 8296 | 回复: 2   主题: [原创]远程客户端与服务器之间防火墙问题        上一篇   下一篇 
meng.luo
注册用户
等级:上尉
经验:657
发帖:22
精华:0
注册:1970-1-1
状态:离线
发送短消息息给meng.luo 加好友    发送短消息息给meng.luo 发消息
发表于: IP:您无权察看 2014-5-4 1:49:33 | [全部帖] [楼主帖] 楼主

     最近在研究TUXEDO,写的两篇帖子中,版主koei给我提出了一个问题,就是防火墙内网外网地址不一样该怎么办?基于这个问题,我前面只是简单的说了一下用NAT(Network Address Translator),也就是网络地址转换解决!由于我也不太清楚,所以,并不敢做过多的解释!今天,在这里,就说一下我的观点!如果,有不对的地方,也希望大家指正.....这里,我先提出几个问题,然后,我们再从这几个问题探讨。

     首先,防火墙是啥? 

     其次,远程客户端与服务器之间有防火墙,端口的开设问题?

     再次,就是什么内网地址,什么又是外网地址?

     最后,内外网地址,肯定是不一样的,那么,该如何通信呢?

     好的,基于上述的几个问题,我们一一讨论一下!

一、网络防火墙

     所谓的网络防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。是一种获取安全性方法的形象说法,他是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关,从而保护内部网免受非法的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。

     在网络中,所谓的"防火墙",是指一种内部网和公众访问网分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你"同意"的人和数据进入你的网络,同时将你"不同意"的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。换句话说,如果不通过防火墙,公司内部的人就无法访问Internet,Internet上的人也无法和公司内部的人进行通信!说到这里,我就想起了,前几天,我用公司的网络登陆163邮箱,还有就是百度文库账号,还有就是QQ空间,发现登陆不上去,提示网页无法访问,我想应该就是防火墙将这些拒之门外.....

二、远程客户端与服务器之间有防火墙,端口的开设问题?

     在上一篇帖子中《远程客户端以及WSL》 中,主要写的是远程客户端与服务器之间的通信!那么,如果远程客户端和服务器之间有网络防火墙,并且恰好端口被屏蔽了,那么远程客户端就不能访问服务器了!在《远程客户端以及WSL》这篇帖子中,提到当客户机执行tpinit连接服务器时,WSL从"WSH Pool"中取出一个负载最小的WSH,并把客户请求放到它的请求队列中。WSH代表客户机,把请求放到服务器的请求队列中。服务器处理完请求后,把相应结果传给WSH,WSH再把它返回给客户机。所以,防火墙如果拦截的话,会拦截WSH用到的请求端口。所以我们应该设置防火墙,将WSH用到的端口打开!但是,WSH可能会用到2048到65535之间的任何一个端口,如果我们把这些端口全部打开,那么防火墙的也就不用存在了....相当于允许所有人访问一样.....

     所以,解决方法是,指定WSH可以使用的端口范围,并且在防火墙放行这些端口,否则客户单就不可能连接到TUXEDO服务器。下面的配置指令把WSH的可用端口限制在2048到2058之间

WSL SRVID =10 SRVGRP=WSGRP RESTART=Y MAXGEN=10 GRACE=3600
CLOP="-A --n -n//127.0.0.1:7110 -m 5 -M 10 -x 5 -p 2048 -P 2058"


三、内网地址和外网地址

     外网:外网上的服务器拥有公共合法ip地址,即能够被公网访问。

     内网:内网上的服务器只拥有局域网ip地址。

     广域网(WAN),就是我们常说的Internet,它是一个遍及全世界的网络。

     局域网(LAN),相对于广域网而言,主要指在小范围内的计算机互联网,这个小范围可以使一个家庭,一所学校,一家公司,或者是一个政府部门。

     广域网上的每一台电脑(或其他网络设备)都是一个或多个广域网IP地址(或者说公网、外网IP地址),广域网IP地址一般要到ISP处交费才能申请,关于网IP地址不能重复;局域网(LAN)上的每一台电脑多有一个活多个局域网IP地址,局域网IP地址是局域网内部分配的,不同局域网IP地址可以重复,互不影响。

     说白了点,我们平时连接一根宽带,插上网线,需要拨号上网,这就属于广域网,也就是所谓的外网。当我们连上一个路由器后,我们的电脑此刻就属于局域网,也就是所谓的内网。

     那么,好的,内网如何和外网通信呢?

     网络地址转换(NAT)!

第四、内外网地址,肯定是不一样的,那么,该如何通信呢?

     AT属接入广域网(WAN)技术,是一种将私有(保留)地址转换为公有(合法)IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种网络中。原因很简单,NAT不仅仅完美解决了IP地址不足的问题,而且还能够有效的避免了来自网络外部的攻击,隐藏并保护网络内部的计算机。

     NAT是在IP地址日益缺乏的情况下产生的,它的主要目的是使地址能够重用。如图所示

北京联动北方科技有限公司

     内网主机不能直接用私有地址访问外网的主机,因为私有地址不能被路由。它要与外网通信,必须经过NAT设备(如网关、路由器),如图所示。主机与服务器通信,它必须先通过网关,此时网关改变它的数据包地址以及端口,把私有地址改为共有地址,使数据包能在公网上被路由,送至服务器端。服务器端返回的数据包到达网关后,网关把公网地址改为相应的私有地址,然后,转发到主机A。NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。所以,这里防火墙已经为我们解决了....

北京联动北方科技有限公司




赞(0)    操作        顶端 
koei
版主
等级:大校
经验:4186
发帖:7
精华:0
注册:2011-7-21
状态:离线
发送短消息息给koei 加好友    发送短消息息给koei 发消息
发表于: IP:您无权察看 2014-5-4 7:10:31 | [全部帖] [楼主帖] 2  楼

前阵看到楼主有个帖子讲Tuxedo客户端tpinit()建立链接时,与WSL/WSH的交互过程,图示很清晰,谢谢!

那伴随的这个防火墙的问题就来了,

(1)  比如我们假设内网地址是192.168.1.1,外网地址是1.1.1.1(纯例子假设,用这么离谱的地址:));

(2)  再比如WSL监听在6666端口,WSH起了一个,监听在8888端口;

第一步,Tuxedo的远程客户端往1.1.1.1:6666端口发送请求时,楼主提到的NAT技术或者一般路由器防火墙的技术,在该IP报文穿越防火墙后,IP报文中的DST转换成了192.168.1.1:6666,于是墙内的WSL可以接收;

第二步,然后呢,WSL把WSH的完整监听地址会以返回报文的形式,放在应用层数据中,告诉客户端:192.168.1.1:8888;

第三步,墙外的客户端再以接收到的地址向192.168.1.1:8888发请求,但在墙外的外网中,就不认识这个地址了,因为可能并不存在这么一个网段,或者没有路由可达,外网可能只配置了1.1.1.X, 2.2.2.X这些可达;这个时候NAT就不管用了,因为客户端从墙外发送1.1.1.1:8888估计它认识,但从墙外直接发内网地址192.168.1.1:8888估计它没法认识了;

毕竟多是处理IP层,将IP报文中的地址内外替换,但WSL返回给客户端WSH地址时,那个地址是在应用层报文传回去的,回传时,NAT不会改应用层的数据 :-)



赞(0)    操作        顶端 
匿名用户
发表于: IP:您无权察看 2018-10-27 16:08:02 | [全部帖] [楼主帖] 3  楼

我正好遇到了版主说的问题


赞(0)    操作        顶端 
总帖数
3
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论