FTP連不出去??

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

版主: 阿信

FTP連不出去??

文章kenchao » 週二 7月 08, 2003 10:05 am

使用debian當NAT,但是怪怪的,ftp連出去時,僅能到輸入帳號密碼的步驟,再來就一直連線中,然後就說連不上,如果直接接上網路,不透過NAT就沒問題,iptables的設定中,port21是打開的,附上eth0,1的設定,如果設定中還有其他不妥的地方,麻煩告知,謝謝大家!
eth0(對外)的設定:
#!/bin/sh

set -x

#############################################
# SNAT setting(ip masquerade)
#############################################
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -j MASQUERADE >> setnat.log

#############################################
# port setting for ftp-data
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT

#############################################
# port setting for ftp
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT

#############################################
# port setting for ssh
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

#############################################
# port setting for telnet
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 23 -j ACCEPT

#############################################
# port setting for sendmail
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT

#############################################
# port setting for DNS
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT

#############################################
# port setting for DNS
#############################################
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT

#############################################
# port setting for http
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

#############################################
# port setting for pop3
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT

#############################################
# port setting for https
#############################################
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

eth1(對內)的設定:
#!/bin/sh
set -x

#############################################
# SNAT setting(ip masquerade)
#############################################
#iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -j MASQUERADE >> setnat.log

#############################################
# port setting for ftp-data
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 20 -j ACCEPT

#############################################
# port setting for ftp
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT

#############################################
# port setting for ssh
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT

#############################################
# port setting for telnet
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 23 -j ACCEPT

#############################################
# port setting for sendmail
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 25 -j ACCEPT

#############################################
# port setting for DNS
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT

#############################################
# port setting for DNS
#############################################
iptables -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT

#############################################
# port setting for http
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT

#############################################
# port setting for pop3
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 110 -j ACCEPT

#############################################
# port setting for https
#############################################
iptables -A INPUT -i eth1 -p tcp --dport 443 -j ACCEPT
kenchao
可愛的小學生
可愛的小學生
 
文章: 19
註冊時間: 週五 2月 21, 2003 4:13 pm

re:FTP連不出去??

文章阿信 » 週二 7月 08, 2003 10:58 am

設定的方法指定沒有錯,但是......

實在搞不懂這樣設定有什麼用,首先...把eth1的對內全部拿掉吧,這樣的設定有設跟沒設是一樣的,請MASQUERADE需要設定-o device:-o eth0/-o eth+,加號代表ethX的device

另外,預設的情況已經是input了,所以iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT 等這些rule可以全部拿掉,這些rule只會增加nat server的負擔或降低流量。

從上面script的需求來看,可以同整一下成下面這一行就夠了

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE

另外,nat server還需要加入ip_nat_ftp.o 這個module以解決client端連線ftp的問題。

另外...能否解釋一下直接連上網路的意思?是user直接使用固定ip連線,沒透過nat server嗎?
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:FTP連不出去??

文章kenchao » 週四 7月 10, 2003 9:10 am

實在搞不懂這樣設定有什麼用,首先...把eth1的對內全部拿掉吧,這樣的設定有設跟沒設是一樣的,請MASQUERADE需要設定-o device:-o eth0/-o eth+,加號代表ethX的device
==>您是說將eth1的設定全部去掉?然後eth1要加後面這一段?完整的設定式應該是?(不好意思)
另外,預設的情況已經是input了,所以iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT 等這些rule可以全部拿掉,這些rule只會增加nat server的負擔或降低流量。
==>您是指eth1嗎?那eth0都保留著嗎?還是
從上面script的需求來看,可以同整一下成下面這一行就夠了
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE
==>您是指eth0只要這一行嗎?那需要用到的port不就都開放了?
另外,nat server還需要加入ip_nat_ftp.o 這個module以解決client端連線ftp的問題。
==>加入ip_nat_ftp.o這個module??步驟應該是?
另外...能否解釋一下直接連上網路的意思?是user直接使用固定ip連線,沒透過nat server嗎?
==>嗯!將user的pc接上ADSL Modem!
kenchao
可愛的小學生
可愛的小學生
 
文章: 19
註冊時間: 週五 2月 21, 2003 4:13 pm

re:FTP連不出去??

文章阿信 » 週四 7月 10, 2003 9:53 am

kenchao 寫:實在搞不懂這樣設定有什麼用,首先...把eth1的對內全部拿掉吧,這樣的設定有設跟沒設是一樣的,請MASQUERADE需要設定-o device:-o eth0/-o eth+,加號代表ethX的device
==>您是說將eth1的設定全部去掉?然後eth1要加後面這一段?完整的設定式應該是?(不好意思)
另外,預設的情況已經是input了,所以iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT 等這些rule可以全部拿掉,這些rule只會增加nat server的負擔或降低流量。
==>您是指eth1嗎?那eth0都保留著嗎?還是
從上面script的需求來看,可以同整一下成下面這一行就夠了
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE
==>您是指eth0只要這一行嗎?那需要用到的port不就都開放了?
另外,nat server還需要加入ip_nat_ftp.o 這個module以解決client端連線ftp的問題。
==>加入ip_nat_ftp.o這個module??步驟應該是?
另外...能否解釋一下直接連上網路的意思?是user直接使用固定ip連線,沒透過nat server嗎?
==>嗯!將user的pc接上ADSL Modem!


Q1:因為無需要對eth1做這樣的INPUT rule。

Q2:全部敘述只要留下弟寫的那一行就行了,因為預設的rule都是ACCEPT,所以你的script開放port跟沒打是一樣的功能。

Q3:要開放的port?有使用某些service的話自動會開放port,並不是用iptables來開放port。

Q4:modprobe ip_nat_ftp


建議是讀好iptables的manual以及netfilter HOWTO,先把觀念建立起來,才不會設定出一些烏龍。

:-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:FTP連不出去??

文章perlish » 週四 7月 10, 2003 11:26 am

登陆之后打一下
pass
把传输模式设置为port模式
这样就会用20号端口传数据了
頭像
perlish
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週三 7月 09, 2003 9:23 am

re:FTP連不出去??

文章kenchao » 週五 7月 18, 2003 11:00 am

不好意思!我再問一下!
modprobe ip_nat_ftp 這指令要下在哪邊?
我曾直接執行一次,ftp依舊不行,又改在setnat.sh批次中執行,
在save active之前一行,還是不行。
另外,我聽到過其他說法是,如有下任何rule ACCEPT port,
則port都會關閉,僅開放accept的port?
有什麼指令是檢查開放的port no?

您說的iptables的manual以及netfilter HOWTO,是指debian附的說明嗎?
kenchao
可愛的小學生
可愛的小學生
 
文章: 19
註冊時間: 週五 2月 21, 2003 4:13 pm

re:FTP連不出去??

文章d2207197 » 週五 7月 18, 2003 12:01 pm

kenchao 寫:不好意思!我再問一下!
modprobe ip_nat_ftp 這指令要下在哪邊?
我曾直接執行一次,ftp依舊不行,又改在setnat.sh批次中執行,
在save active之前一行,還是不行。
另外,我聽到過其他說法是,如有下任何rule ACCEPT port,
則port都會關閉,僅開放accept的port?
有什麼指令是檢查開放的port no?

您說的iptables的manual以及netfilter HOWTO,是指debian附的說明嗎?

modprobe在任何地方都可以下....
有無任何錯誤訊息...??

對不起....小弟 學問淺薄....有錯誤請指證
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:FTP連不出去??

文章阿信 » 週五 7月 18, 2003 12:46 pm

kenchao 寫:不好意思!我再問一下!
modprobe ip_nat_ftp 這指令要下在哪邊?
我曾直接執行一次,ftp依舊不行,又改在setnat.sh批次中執行,
在save active之前一行,還是不行。
另外,我聽到過其他說法是,如有下任何rule ACCEPT port,
則port都會關閉,僅開放accept的port?
有什麼指令是檢查開放的port no?

您說的iptables的manual以及netfilter HOWTO,是指debian附的說明嗎?


netstat -anp就可以看到系統那些port被service監聽。

Howto的部份可以上Linux Document Project找Advanced Routing 和net filter
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義


回到 debian server

誰在線上

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