Если я правильно понял то это правлио служит для клиентя ftp сервера??? Мне нужно для сервера, по умолчанию политика на цепочку INPUT стоит DROP и надо разрешить подрубаться к фтп серверу.
Правильный ответ - загрузить модуль ядра ip_conntrack_ftp и добавить следующие правила:
# разрешает входящие соединения FTP-CONTROL
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED
-A OUTPUT -p tcp -m tcp --sport 21 -m state --state ESTABLISHED
# разрешает входящие FTP-DATA для пассивного FTP
-A INPUT -p tcp -m tcp --dport 1024: --sport 1024: -m state --state RELATED,ESTABLISHED
-A OUTPUT -p tcp -m tcp --sport 1024: --dport 1024: -m state ESTABLISHED
# разрешает исходящие FTP-DATA для активного FTP
-A OUTPUT -p tcp -m tcp --sport 1024: -m state --state NEW,ESTABLISHED
-A INPUT -p tcp -m tcp --dport 1024: -m state ESTABLISHED
Правильное место зависит от версии и дистрибутива линукса.
В RedHat 9 это файл /etc/rc.modules (который нужно создать).
В остальных - почитай в доках и поищи в гугле. ;)
Только что заметил ошибку.
Последние 2 правила должны выглядеть так:
# разрешает исходящие FTP-DATA для активного FTP
-A OUTPUT -p tcp -m tcp --sport 1024: -m state --state RELATED,ESTABLISHED
-A INPUT -p tcp -m tcp --dport 1024: -m state ESTABLISHED
Хотя если ты не контролируешь исходящие с сервера соединения, то пофиг.
гм, тупой вопрос - прописал все это дело, цепочки настроил, но как этот модуль узнает, откуда и куда даные гнать????? пробовал modinfo там об этом нет ни слова