【发布时间】:2014-07-30 11:27:41
【问题描述】:
我在一所大型大学里,在大学网络上设置了服务器。该网络具有内部 (10...) IP 地址和外部 (129...) IP 地址。我有一个基于 ColdFusion 的业务流程,它从外部服务器获取 FTP 数据。
ColdFusion 实例所基于的服务器有多个(大约 10 个)与之关联的 IP 地址,包括内部和外部。它有一个主要地址,直到最近,它一直是外部的。
使用 Wireshark,我们已经能够看到使用了哪个 IP,而且它从来都不是主要的,但除此之外,似乎没有遵循任何逻辑。
我们最近将服务器的主 IP 更改为内部地址,以符合大学范围内的新安全政策,并且来自 Coldfusion 的 FTP 连接停止工作。使用 Wireshark,我们已经确认它会通过一个内部 (10...*) IP 地址(不是主 IP 地址)发出。
有没有办法通过系统配置或以编程方式控制 ColdFusion 使用哪个 IP 进行 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 不是公共 IP,只是那些能够有例外的 IP。
进一步说明:归结为大学主要 IT 组织设立的规则和 IP 地址。 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 选择其他 129.x.x.x 地址之一作为连接的传出 IP。将“主”IP 切换为 10.x.x.x IP 后,ColdFusion 正在为传出连接选择其他 10.x.x.x 地址之一。据我所知,我的选择是 1) 将主服务器切换回 129.x.x.x; 2) 将站点移至主服务器为 129.x.x.x 的其他服务器,并保持服务器上的其他站点符合新策略; 3)看看我是否能弄清楚如何控制 Coldfusion 从服务器上的 10 个静态 IP 中选择哪个 IP。
【问题讨论】:
-
你得到什么样的错误信息?根据您最近的 IP 更改,可能是 FTP 服务器配置为侦听不再有效的 IP 地址。
标签: networking coldfusion ftp coldfusion-10