多层系统如何使用代理连到内部网? (200分)

  • 主题发起人 主题发起人 guojun
  • 开始时间 开始时间
G

guojun

Unregistered / Unconfirmed
GUEST, unregistred user!
1、使用一个代理上internet。
2、拔号上internet的远程客户端。
3、2怎么通过 1 访问内部网上的应用服务器。
|---| |---| |---|
|---| |---| |---|
----|--------|--------------|--------------|
内部1 内部2 上网代理 /^/
内部IP 内部IP 互联网IP / 互/
应用服务 ( 联 )
器 / 网/
/--- / / /
/ | /
/ | /
|---| |---| /-----|---|
|---| |---| |---|
Clinet1 Clinet2 Client3
 
不可能!决对不可能,
举个例子吧
内部网 公网
IP PORT 代理服务器 IP 变换后的PORT
192.168.0.1 80---->|解析端口号|--->代理服务器的真IP 150
^-------------| |<--- 150
192.168.0.4 80---->| |---> 151
在外部看来,内部网的所有IP都是代理服务器的IP,只是端口号不同,
从外部不能直接找到内部网的计算机,所以一定不可能
 
设一个拔号服务器,远程客户端直接向你的服务器拔号。
 
有什么变通的方法吗?
不能用拔号的方法。因为没那么多的电话线路。
 

那只能用UDP协议进行通信了
连接到代理服务器后用udp协议进行通信
 
反向代理可以实现,可能和你需要的协议有关,HTTP情况比较简单
 
我想起来了,TSocketConnection中有Callback功能,但是从来没试过怎么用。
有成功用过的吗,说说用法。
看来这题目还有点难,分数可以再加的。
 
TSocketConnection中有Callback功能
可以监听 服务器端的状态,如果 SocketConnection 出现异常,Client可以得到异常的
信息!
 
端口映射,在外部的服务器设置端口映射,映射到内部的服务器就可以了。。
例如ISA、Port_Channel等软件
 
to CJF
请详细讲一讲怎么使用这些软件,在哪里有得Down,我可以另外单独加100分给你
 
http://www.steelbytes.com/
http://www8.pconline.com.cn/download/swdetail.phtml?id=6656
 
通过Tunnel,也就是dxcwxc所说的反向代理可以实现。
如果端口是固定的化实现起来很简单,端口是动态的话,
比如FTP的PASV方式,实现起来稍微复杂些。基本原理很
简单,假设你的应用服务器的端口为1234,那么在你的
上网代理服务器上执行一个Socket Tunnel程序,侦听
1234端口,当你的客户端连接到上网代理服务器上时,
Socket Tunnel程序连接到应用服务器1234端口上,然后
将客户端的数据传到应用服务器,应用服务器传回的数据
传到客户端。总之,Socket Tunnel程序做的只是数据传递
工作。还有,你的客户端的应用服务器地址应该设定为上
网代理服务器的Global IP地址。
 
问题结束:
CJF:另外开题给你100分,本处不参加分配。到此题拿分
http://www.delphibbs.com/delphibbs/dispq.asp?lid=960822
其它人分这200分。
使用CFJ提供的port mapping解决。这个问题对于小公司还想分布式应用很有意义。
 
后退
顶部