Назад | Перейти на главную страницу

Удаленный клиент, пытающийся подключиться к vsftpd в CentoS, возвращает отказ в соединении

Я пытаюсь настроить службу ftp на моем сервере. Кажется, все на месте, но клиент всегда получает такой ответ: В соединении отказано.

Это содержимое моего файла iptables

# Generated by iptables-save v1.4.7 on Tue Jun  4 17:43:03 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3:412]
-A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -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 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p tcp -m tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Jun  4 17:43:03 2013

Если вам это нужно, это то, что iptables -L возвращает:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql state NEW,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:mysql state ESTABLISHED 

Я почти уверен, что это как-то связано с iptables, хотя могу ошибаться. Я следил за каждым шагом этот учебник. Любые идеи?

Вам нужно поставить ACCEPT для ftp над REJECT all. Конкретно эта строка

-A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

должен быть выше этой линии

-A INPUT -j REJECT --reject-with icmp-host-prohibited

в твоем /etc/syconfig/iptables файл согласно документации, которой вы следуете.