2014-06-09 78 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一個一對一的映射,等等。

祝你好運。

相關問題