這似乎與 linux 比較沒關係了 ?
ftp 傳輸有分 active 與 passive mode,簡單說後續 data channel 傳輸的資料使用的 port 是動態建立的。您的 router 不一定可以正確識別處理 ftp 連線這類情況,所以 client 端要以 active mode 傳輸模式才可以正確傳輸成功.
只是 client 端要使用 active mode 的傳檔模式即可,只是這是讓 server 端把資料主動傳輸給 client 端 > 1024 port 的某個位置,那前提就是:
1. client 若是使用 real ip 的話,該 > 1024 port 的指定 port 不可以被阻擋,簡單說就是 firewall 部份要確認
2. client 若是使用 private ip 的話,那還要看本身 client 端所在 nat 環境本身是否有偵測到 ftp 連結這類允許動態調整,要不然資料丟給 nat router 後無法正確傳回 client。
我個人會建議樓主先了解清楚 active/passive mode 的工作差異,這樣過程會少很多問題。
--