[問題] 無法在虛擬機器上使用FTP Passive模式

看板Network作者 (自由)時間17年前 (2009/04/08 22:18), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/2 (看更多)
先說明網路架構如下: Router WAN IP: 59.1.1.1 LAN IP: 192.168.1.254 LAN A主機: 192.168.1.1 X主機: 192.168.1.10(虛擬機器,建立在A主機裡面。Passive port: 30001~30010) B主機: 192.168.1.2 遠端C主機: 61.61.61.61 我畫了一張簡單的架構圖,可以參考一下: http://www.wretch.cc/album/show.php?i=lamoni&b=1&f=1417643733&p=0 在LAN裡面的實體電腦上,我可以輕鬆架設FTP Server,讓客戶端以Passive模式連線。 但是架在虛擬機器裡的FTP Server則一直無法正常運作。 假設FTP Server架在實體電腦A主機上面,正常的流程是這樣: 1.遠端C主機向Server位址所在的Router要求FTP連線。 2.Router收到封包,轉發給A主機。 3.A主機回覆,可以連到我的192.168.1.1的30001 port。目的地為C主機。 4.封包出了Router後,變成"請連到wan ip 59.1.1.1的59507 port",目的地仍為C主機。 5.遠端C主機發出封包,連到Router的wan ip的59507 port 6.對應到A主機Lan ip的30001 port,連線建立。 現在虛擬機器(X主機)上的問題是,此流程到第5個步驟就沒了。 X主機沒有收到最後那個要求建立連線的封包。 我用WireShark封包擷取軟體,就是沒看到這個步驟的封包。 問題點? 1.FTP Server的軟體 試過zFTP、G6,情況一樣。而且在實體電腦上可正常運作, 輕輕鬆鬆我就可以設定起來,唯獨虛擬機器上無法運作。 2.Router? 我也懷礙過為何Router發出的port不是我設定passive的 位址範圍(30001~30010)。 因為如果是同一個LAN裡的B主機連到A主機, A主機會說請連到30001,然後B主機就連到30001。 而遠端C主機要連線時,A主機也是說請連到30001, 但出了Router後卻變成請連到59507, 然後C主機收到後就連到Router的59507,再對應到Server的30001。 這樣的流程在實體電腦上是正常的,但在虛擬機器上, 連線就停在Router那邊: 「虛擬機器X主機沒有收到遠端要求連線到59507 port的封包」 所以我懷礙是否Router的NAT功能出了問題。 但因為實體電腦上可正常轉發封包,所以又無法確定。 3.VMware的問題??? X主機的網卡使用Bridge模式,作業系統為Windows 2003 Server R2。 既然是Bridge模式,所以可直接存取實體網卡。而且可正常連通Internet。 註1:虛擬機器上的防火牆沒開。 註2:遠端可用Port模式連到虛擬機器的FTP Server。只有Passive模式不行。 So...what's the problem?? Router? FTP Server的設定?Vmware? 請問有人在虛擬機器上架設FTP嗎? 請不吾賜教…感謝不盡… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.172.73.72

04/08 22:29, , 1F
什麼軟體可以畫那種圖?
04/08 22:29, 1F
※ 編輯: ronlee543 來自: 218.172.73.72 (04/09 00:07)

04/09 00:08, , 2F
Microsoft Visio。在Office 2003的光碟片裡面有。
04/09 00:08, 2F

04/09 16:44, , 3F
謝謝:p
04/09 16:44, 3F
文章代碼(AID): #19tB8g8v (Network)
文章代碼(AID): #19tB8g8v (Network)