2014-06-09 80 views
0

我在一所大学,在Univeristy网络上设置了服务器。该网络有内部IP地址(10. )IP地址和外部IP地址(129.)。我有一个基于ColdFusion的业务流程,即从外部服务器获取FTP的数据。FTP到内部网络服务器的外部地址

ColdFusion实例所基于的服务器有多个(大约10个)与之关联的IP地址,包括内部和外部。它有一个主要地址,直到最近,它一直是外部的。

使用Wireshark,我们已经能够看到哪个IP被使用,并且它从来不是主要的,但除此之外,似乎没有遵循任何逻辑。

我们最近将服务器的主IP更改为内部地址,以符合新的大学安全策略,并且Coldfusion的FTP连接停止工作。使用Wireshark,我们已经确认它将在内部IP地址(而不是主要IP地址)上发送(10. 。*)。

有没有办法通过系统配置或编程控制哪些IP ColdFusion用于FTP连接?

代码为FTP电话:

var ftpService= new ftp(
    username = partnerConfig.sftpLogin, 
    connection = "MyConnection", 
    password = partnerConfig.sftpPw, 
    fingerprint = partnerConfig.sftpFingerprint, 
    server = partnerConfig.sftpServer, 
    secure = "yes" 
); 
var result=ftpService.open(); 
var result2=ftpService.listdir(directory = partnerConfig.inFolder, name="dirlist"); 
var result3=result2.getResult(); 

编辑:我的服务器的家伙告诉我,这个大学是如何配置子网相当独特。 10. *子网不允许防火墙例外。 “公共”知识产权不是默认公开的,只是那些能够有例外的公共知识产权。

进一步解释:归结于规则和IP地址在大学设立的主要IT组织。 10.x.x.x IP绝不允许在大学之外访问(“内部”)。 129.x.x.x IP,可能有防火墙例外(“外部”)。如果我输入ipconfig(它是Windows),我会看到大约10个静态IP地址,其中一半是10.x.x.x,其中一半是129.x.x.x.当机器的“主要”IP是129.x.x.x地址时,Coldfusion为连接的外出IP选择了其中一个OTHER 129.x.x.x地址。随着“主”IP切换到10.x.x.x IP,ColdFusion将为传出连接选择其中一个10.x.x.x地址。据我所知,我的选择是1)将主服务器切换回服务器的129.x.x.x; 2)将站点移动到主服务器为129.x.x.x的其他服务器,并使服务器上的其他站点符合新策略; 3)看看我能否弄清楚如何控制IP Coldfusion从服务器上的10个静态IP中选择的IP。

+1

你得到什么样的错误信息?根据您最近的IP更改,可能会将FTP服务器配置为侦听不再有效的IP地址。 – imthepitts

回答

1

我们的管理员想通了。我们需要向服务器添加静态路由,以便每当ColdFusion(或任何应用程序)尝试连接到我们正在传输的特定目标时,它就会经过一个特定的传出IP地址。

这不是我所熟悉的,但快速搜索给人的基础知识:http://technet.microsoft.com/en-us/library/dd469825.aspx

0

你有一个内部IP地址,你不确定外部是什么?这听起来像网桥问题。您正在寻找的是FTP代理或某种工具,它将外部分配的IP与端口22的内部分配的IP(或任何您设置端口的IP)相关联。请看:http://wiki.squid-cache.org/Features/FtpGateway

FTP reverse proxy

这听起来像您的IP地址(甚至在内部不能是静态的)...也许它只是觉得这种方式。确保你的内部IP是静态的。

阅读有关FTP端口转发:Here are some port forwarding guides.

其他关键字FTP桥,FTP一个一对一的映射,等等。

祝你好运。

相关问题