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

FTP-соединение зависает на 200 Добро пожаловать в службы FTP blabla

У меня возникают проблемы при подключении к удаленному ftp-серверу, работающему в UNIX. Когда я пытаюсь подключиться, он зависает на экране приветствия и запрашивает пароль и имя пользователя dos = esnt. Подключен к 17.17.0.181.
220 Добро пожаловать в службу FTP Blabla

Он просто там ничего не замораживает, если я попытаюсь убить его с контролем c или z, он не умрет! Мне нужно войти на другую консоль и сделать убить PID штуковина. Я знаю, что уверен, что это как-то связано с брандмауэром или маршрутизацией, потому что я могу подключиться откуда угодно.

Мой брандмауэр iptables имеет следующие настройки
modprobe ip_nat_ftp порты21
modprobe ip_conntrack_ftp
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp -m tcp -m state --dport 21 --state NEW -j ACCEPT
iptables -A FORWARD -p tcp -m tcp -m state --sport 20 --state RELATED -j ACCEPT
iptables -A FORWARD -p tcp -m tcp -m state --dport 1024: 65535 --sport 1024: 65535 --state RELATED -j ACCEPT
Всем, кто за вашу помощь очень благодарен.

Брандмауэр работает на том же компьютере, что и демон ftp? Если это так, я думаю, вам нужно использовать цепочку INPUT, а не FORWARD. Цепочка FORWARD используется при пересылке пакетов. Когда пакеты должны обрабатываться локально, они будут проходить через цепочку INPUT, а не через цепочку FORWARD.

Этот «рисунок» (с веб-сайта netfilter) объясняет, какие цепочки и что делают.

Incoming                 /     \         Outgoing
       -->[Routing ]--->|FORWARD|------->
          [Decision]     \_____/        ^
               |                        |
               v                       ____
              ___                     /    \
             /   \                  |OUTPUT|
            |INPUT|                  \____/
             \___/                      ^
               |                        |
                ----> Local Process ----