這個是iptables的設置:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2082 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 60000:60100 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
這個是router的部分:
目前只有21有通,20跟60000那組都沒有通
有一點不知道要往那個方向查了。
請問各位先進,還有哪些要注意的地方是我疏忽的?
echochio兄,我補圖在這裡:
你沒有疏忽, 只是不清楚ftp的運作模式其實相當複雜.
可參考一下這份文件:
主動式與被動式 FTP 比較
https://phorum.com.tw/ShowPost/5609.aspx
雖然沒有回覆確認60000~60100是何用途,
但幾乎可以篤定, 是你的ftp daemon設定, 做pasv mode port用的.
簡單講, 平常的port 21, 是 ftp 指令溝通用,
真正要傳送檔案時,
active mode : 開port 20
passive mode: 開pasv port
port 20 或 pasv port 只在資料傳送時才會開, 資料傳送完就關了,
再傳送檔案時會再另開session .
所以, 你只能用 ftp 實測傳送資料是否正常,
沒辦法用 telnet 去測 ftp data port.