[問題] 當proftpd開啟fxp功能後,iptables要如何修改呢?

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

[問題] 當proftpd開啟fxp功能後,iptables要如何修改呢?

文章huki » 週二 8月 30, 2005 4:37 pm

因為m$上一套ftp軟體Ser-v的關係
現在ftp有一個很特別的功能叫fxp(ftp to ftp)
可以直接兩個ftp對傳
而小弟是用proftpd來架
查了文件
只要在/etc/proftp.conf加入
代碼: 選擇全部
#support FXP
AllowForeignAddress             on   # Allow FXP (FTP to FTP transfers)
PassivePorts 49152 65534

可是這時iptables要如何去修改呢?
因為設定iptables之後就造成fxp無法傳輸了
而我的iptables規則是
代碼: 選擇全部
#!/bin/sh
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_REDIRECT
/sbin/modprobe ipt_LOG

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#NAT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 115 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 3888 -j ACCEPT
iptables -A INPUT -p tcp --dport 3889 -j ACCEPT
iptables -A INPUT -p tcp --dport 3890 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

麻煩各位大大幫幫忙了~~~
Linux給我的感覺就是自由自在,沒有壓力
希望大家都能參與linux
變成linux世界的一份子
HuKi
頭像
huki
快樂的大學生
快樂的大學生
 
文章: 783
註冊時間: 週四 11月 28, 2002 7:27 am
來自: 家:中壢/公:桃園

文章企鵝狂 » 週二 8月 30, 2005 11:18 pm

http://www.smartftp.com/support/kb/index.php/14
稍微看了一下fxp的工作原理
The FXP client tells the destination FTP to listen for a connection by sending a "PASV" command. The source FTP then connects to the data port reported by the destination server (after a successful PASV command).

FTP Client告訴destination FTP在某個port等待,然後告訴source FTP去連接到這個port..而不是自己去連接..
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
這樣子這個規則就行不通了..

不知道可以怎麼辦

有些很古老的文章會提到
iptables有fxp支援
例如https://lists.netfilter.org/pipermail/netfilter/2001-October/026702.html
不過現在應該找不到了吧..找到的話kernel 2.6應該也不能用
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章huki » 週三 8月 31, 2005 12:34 pm

我查了一些文章
我的防火牆改成
代碼: 選擇全部
#!/bin/sh
#載入模組
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_REDIRECT
/sbin/modprobe ipt_LOG

#先將原來的iptables清除,再次建立
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT   DROP
iptables -P OUTPUT  ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING  ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT      ACCEPT

#限定可進入的port
iptables -A INPUT -p tcp --dport 21 -j ACCEPT      #ftp
iptables -A INPUT -p tcp --dport 22 -j ACCEPT      #ssh
iptables -A INPUT -p tcp --dport 80 -j ACCEPT      #www
iptables -A INPUT -p tcp --dport 115 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT    #mysql
iptables -I INPUT -i eth0 -p TCP --syn -j DROP
iptables -I FORWARD -i eth0 -p TCP ! --syn -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


雖然ftp可以正常進去了
不過還是沒辦法使用fxp的功能
不過在這一篇中好像有提到相似的問題
麻煩會的大大教一下
代碼: 選擇全部
http://www.study-area.org/linux/servers/linux_nat.htm
Linux給我的感覺就是自由自在,沒有壓力
希望大家都能參與linux
變成linux世界的一份子
HuKi
頭像
huki
快樂的大學生
快樂的大學生
 
文章: 783
註冊時間: 週四 11月 28, 2002 7:27 am
來自: 家:中壢/公:桃園

文章企鵝狂 » 週三 8月 31, 2005 5:10 pm

那篇文章有講到fxp嘛?
代碼: 選擇全部
#support FXP
AllowForeignAddress             on   # Allow FXP (FTP to FTP transfers)
PassivePorts 49152 65534


所以你應該開放49152-65534的連線吧
iptables -A INPUT -m multiport -p tcp --dports 49152:65534 -j ACCEPT

如果你要確定只有ftp的程式可以連線的話..
可以配合owner這個extension..
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章huki » 週五 9月 02, 2005 2:37 pm

這個好像也不可行
唉~~~~
有沒有大大可以協助一下呢?
麻煩了
Linux給我的感覺就是自由自在,沒有壓力
希望大家都能參與linux
變成linux世界的一份子
HuKi
頭像
huki
快樂的大學生
快樂的大學生
 
文章: 783
註冊時間: 週四 11月 28, 2002 7:27 am
來自: 家:中壢/公:桃園

文章企鵝狂 » 週五 9月 02, 2005 3:28 pm

感覺你這個也很奇怪..
iptables -I INPUT -i eth0 -p TCP --syn -j DROP


iptables -A INPUT -m multiport -p tcp --dports 49152:65534 -j ACCEPT
改成
iptables -I INPUT -m multiport -p tcp --dports 49152:65534 -j ACCEPT
試試看

還有你是從linux傳到外面or外面傳進來也有差別
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

文章huki » 週五 9月 02, 2005 4:07 pm

代碼: 選擇全部
iptables v1.2.11: invalid port/service `49152:65534' specified
Try `iptables -h' or 'iptables --help' for more information.

會出現這樣的錯誤

代碼: 選擇全部
iptables -I INPUT -i eth0 -p TCP --syn -j DROP

我也不太清楚這行到底要做什麼的

代碼: 選擇全部
還有你是從linux傳到外面or外面傳進來也有差別

理論上應該都要有吧!
Linux給我的感覺就是自由自在,沒有壓力
希望大家都能參與linux
變成linux世界的一份子
HuKi
頭像
huki
快樂的大學生
快樂的大學生
 
文章: 783
註冊時間: 週四 11月 28, 2002 7:27 am
來自: 家:中壢/公:桃園

文章企鵝狂 » 週六 9月 03, 2005 2:19 am

huki 寫:
代碼: 選擇全部
iptables v1.2.11: invalid port/service `49152:65534' specified
Try `iptables -h' or 'iptables --help' for more information.

會出現這樣的錯誤

猜測你沒有mport或multiport的module
huki 寫:
代碼: 選擇全部
iptables -I INPUT -i eth0 -p TCP --syn -j DROP

我也不太清楚這行到底要做什麼的

趕快搞清楚吧..
說不定這行會讓你的電腦被入侵format喔..
huki 寫:
代碼: 選擇全部
還有你是從linux傳到外面or外面傳進來也有差別

理論上應該都要有吧!

喔..可能我沒有講清楚..
我的意思是說..
...好難講..我覺得有差..
因為我用lftp的fxp功能是像這樣

open ftp.kernel.org
get index.html -o ftp://test:test@ftp.myftp.com/index.html
這時候kernel.org跟myftp.com會有一端用passive連線..
被連線的那端..應該要把port開放..

所以我才說..你上面的PassivePorts 49152 65534
表示ftp server等待別人連近來到49152~65534之間以建立data connection..

不知道我這樣講有沒有清楚..
好像表達的很差.. :-x
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron