PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   關於在nat下面的ftp server 改了port無法連線的問題 (https://www.pcdvd.com.tw/showthread.php?t=1067794)

crisliu2004 2015-01-10 01:35 PM

關於在nat下面的ftp server 改了port無法連線的問題
 
小弟最近買了一台nas

裡面有ftp server的功能

預設port 是21

nas 接在router下 router已刷為dd-wrt

在dd-wrt裡面設定port forwarding tcp port 21 給nas

在公司可以順利連線沒問題 公司電腦接在router下 是虛擬ip

問題在於 預設port 改為 12345 (或者任何其他 > 1025 的port)

port forwarding 也有設為 tcp 12345 給nas(或者任何其他 > 1025 的port)

卻無法連線了

疑問是 為什麼 tcp port 21 就可以順利連線

下面有nas ftp 設定頁面

有沒有高手可以幫忙解惑?

感恩


crisliu2004 2015-01-10 02:07 PM

附上在公司端用 filezilla 連線的訊息

錯誤: 使用者中止目錄列表
狀態: 已從伺服器離線
狀態: 正在解析 xxx.no-ip.biz 的 IP Address
狀態: 正在連線到 129.110.29.18:12345 ...
狀態: 連線已建立, 正在等候歡迎訊息...
回應: 220 NET Disk FTP Server ready.
指令: USER Cris
回應: 331 User name okay, need password.
指令: PASS **********
回應: 230 User logged in, proceed.
指令: OPTS UTF8 ON
回應: 200 Command okay.
狀態: 已連線
狀態: 正在取得目錄列表...
指令: PWD
回應: 257 "/" is current directory.
指令: TYPE I
回應: 200 Type set to I.
指令: PASV
回應: 227 Entering Passive Mode (192,168,67,231,80,73).
狀態: 伺服器以無法路由的 IP Address 送出了被動式回應. 改為使用伺服器 IP Address.
指令: LIST
錯誤: 連線逾時
錯誤: 無法取得目錄列表

supermaxfight 2015-01-10 02:52 PM

1.主、被動
2.FTP的port不建議自己修改,去用到有問題的port就毀了

crisliu2004 2015-01-10 03:04 PM

引用:
作者supermaxfight
1.主、被動
2.FTP的port不建議自己修改,去用到有問題的port就毀了

1. Filezilla client 的主動被動模式都試過了,當然訊息不一樣都不能連,上面不能連的訊息是被動模式的,而可以連的情況(port21)是用被動模式。

2. 請教何謂 "有問題的port" ,用預設port不是很容易被掃嗎?

supermaxfight 2015-01-10 03:17 PM

使用非標準FTP port有點小麻煩,那個要在ALG另外處理掉
例如,ASUS RX3041在ALG設定裡面有一個非標準FTP port的設定

tvirus 2015-01-11 01:58 PM

http://phorum.com.tw/ShowPost/5609.aspx

用非預設Port比較不會被掃
但是你的機器可能比較低階,沒得調整一些特殊的東西,那就請乖乖被掃吧

PAN_PAN 2015-01-11 04:24 PM

........... 我在想想看以前的做法 :flash: :flash:

twu2 2015-01-11 04:36 PM

一般這類 linux based 的系統, 應該都是用 netfilter 在處理封包.
而 netfilter 的 ftp 處理, 是有獨立的 module 在處理 (因為 ftp 的協定很 "ugly"... 不是用單一的 port 就可以).
一般就是 nf_nat_ftp (如果有做 nat), nf_conntrack_ftp (用來判斷 ftp 後續的連線是屬於同一個 connection), 而這些 module, 預設都是只支援標準的 port (就是 tcp 21)... 如果要使用別的 port, 要在載入 module 時加上 ports 參數去指定才可以.

如果用預設的 port 21 能通, 改了 port 不能通, 通常就是這個原因.

twu2 2015-01-11 04:41 PM

引用:
作者crisliu2004
回應: 227 Entering Passive Mode (192,168,67,231,80,73).

如果 netfilter 有作用, 會把這個 ip 改成外部的 ip...
所以... 應該是想辦法在 nf_nat_ftp 與 nf_conntrack_ftp 加上 ports 參數就可以.

一般的系統如果不方便在載入模組時加上參數, 應該也可以在 /etc/modprobe.d/ 底下加上一個 .conf 的檔案指定參數, 如:
引用:
options nf_nat_ftp ports=21,12345
options nf_conntrack_ftp ports=21,12345

tvirus 2015-01-12 10:25 AM

有些FTP Server是可以自行定義PASV Mode要用的Port...
像ProFTPD之類的


那種簡單便宜的東西,IP分享器直接用DMZ了事


所有的時間均為GMT +8。 現在的時間是07:22 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。