【问题标题】:FTP to external address from server on internal network从内部网络上的服务器 FTP 到外部地址
【发布时间】: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


【解决方案1】:

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

FTP reverse proxy

这听起来像是您的 IP(即使在内部也可能不是静态的)...或者只是感觉如此。确保您的内部 IP 是静态的。

了解 FTP 端口转发:Here are some port forwarding guides.

其他关键字 FTP 桥接、FTP 一对一映射等。

祝你好运。

【讨论】:

    【解决方案2】:

    我有一个关于 cfmail 标签的类似问题:

    Force cfmail tag to send from a specfic server IP address

    很遗憾,我没有得到有效的答案。 ColdFusion 似乎会选择(似乎是随机的)使用哪个源 IP 地址。

    【讨论】:

      【解决方案3】:

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

      这不是我熟悉的东西,但快速搜索一下就知道了:http://technet.microsoft.com/en-us/library/dd469825.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-16
        • 1970-01-01
        • 2020-10-31
        • 2022-08-04
        • 1970-01-01
        • 2018-07-08
        • 1970-01-01
        相关资源
        最近更新 更多