The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Iptables не выпускает Filezilla через FTP, !*! Agafon, 22-Апр-11, 20:27  [смотреть все]
Всем привет уважаемые формуляне

может кто подскажет новичку в чем может быть дело. Ситуация следующая
стоит centos 5.5 задача быть шлюзом и прокси
утсановлен squid-havp как прокси
и iptables для пакетов
в общем все работает интернет раздаёт сквид кэширует havp+clam сканируют http трафик
проблемма в ftp
  iptables не даёт подлючение к хостеру

конфигурация след

eth0 --internet (192.168.178.50)<---> роутер 192.168.178.1 <----> internet
eth1 -- lan    (192.168.2.1)<----> тачки клиенты(192.168.2.2)

на тачке прописан  шлюз и днс centosА
но не думаю что в днс дело так как гугл пингуется

вот конфиг iptables
# Generated by iptables-save v1.3.5 on Wed Apr 20 03:16:17 2011
*nat
:PREROUTING ACCEPT [13:1184]
:POSTROUTING ACCEPT [1:172]
:OUTPUT ACCEPT [1:172]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Apr 20 03:16:17 2011
# Generated by iptables-save v1.3.5 on Wed Apr 20 03:16:17 2011
*mangle
:PREROUTING ACCEPT [453:35320]
:INPUT ACCEPT [453:35320]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [342:49808]
:POSTROUTING ACCEPT [342:49808]
COMMIT
#1 Completed on Wed Apr 20 03:16:17 2011
# Generated by iptables-save v1.3.5 on Wed Apr 20 03:16:17 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [342:49808]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
#DNS
-A RH-Firewall-1-INPUT  -i eth1 -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT  -i eth1 -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT  -i eth0 -p udp -s 192.168.178.1 --sport 53 -j ACCEPT
-A RH-Firewall-1-INPUT  -i eth0 -p tcp -s 192.168.178.1 --sport 53 -j ACCEPT
#PRINTING
-A RH-Firewall-1-INPUT -i eth1 -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 631 -j ACCEPT
#Rules for connect to router
#-A RH-Firewall-1-FORWARD -i eth1 -d 192.168.178.1 -m state --state NEW,ESTABLISHED -j ACCEPT
#-A RH-Firewall-1-FORWARD -i eth0 -d 192.168.2.0/24 -m state --state ESTABLISHED -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 10000 -j ACCEPT

#SQUID
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 3128 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 8080 -j ACCEPT

#VNC
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED  -m tcp --sport 80 -j ACCEPT
#HTTPS
-A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -m tcp --sport 443 -j ACCEPT
#SSH
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 22 -j ACCEPT
#WEBMIN
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -p tcp -m state --state NEW,ESTABLISHED,RELATED -m tcp --dport 10000 -j ACCEPT
#FTP
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport 21 -j ACCEPT
#Allow active
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport 20 -j ACCEPT
#Allow passive FTP
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 1024 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport 1024 -j ACCEPT
#log end
-A RH-Firewall-1-INPUT -i eth1 -j  LOG --log-level debug --log-prefix "EHT1 -FROM LAN "
-A RH-Firewall-1-INPUT -i eth0 -j  LOG --log-level debug --log-prefix "EHT0 -From INTERNET "
-A RH-Firewall-1-INPUT -j DROP
COMMIT
# Completed on Wed Apr 20 03:16:17 2011

буду очень признателен ,если кто подскажет в чем может быть дело?!

  • Iptables не выпускает Filezilla через FTP, !*! sdog, 20:56 , 22-Апр-11 (1)
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp
  • Iptables не выпускает Filezilla через FTP, !*! LSTemp, 05:00 , 25-Апр-11 (3)
    >[оверквотинг удален]
    > #Allow active
    > -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
    > -p tcp --dport 20 -j ACCEPT
    > -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
    > 20 -j ACCEPT
    > #Allow passive FTP
    > -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
    > -p tcp --dport 1024 -j ACCEPT
    > -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
    > 1024 -j ACCEPT

    вообще-то в пассивном режиме для передачи данных могут быть использованы любые порты с обеих сторон. клиент открывает два соединения  - одно из них на порт сервера 21. после сервер шлет ему свой порт для канала данных и клиент со своего второго порта устанавливает соединение с указанным портом сервера. при чем тут константа 1024 - для меня загадка (м/б имелись в виду все порты выше 1024?).

    > #log end
    > -A RH-Firewall-1-INPUT -i eth1 -j  LOG --log-level debug --log-prefix "EHT1 -FROM
    > LAN "
    > -A RH-Firewall-1-INPUT -i eth0 -j  LOG --log-level debug --log-prefix "EHT0 -From
    > INTERNET "
    > -A RH-Firewall-1-INPUT -j DROP
    > COMMIT
    > # Completed on Wed Apr 20 03:16:17 2011

    самому попарсить где свалилось влом?

    > буду очень признателен ,если кто подскажет в чем может быть дело?!

    • Iptables не выпускает Filezilla через FTP, !*! Agafon, 03:49 , 26-Апр-11 (4)
      Странно как то дальше
      сейчас попробовал вместо ftp.xxxxxx вбить IP который получил пропинговав ftp и соединение установилось тоесть выглядит так как будто iptables не даёт читать днc . Но только в filzila ведь пинг на гугл.ком идёт и на все остальное


      Нет не в лом пытаюсь читать но ничего стоющего там не вижу ((

      >> самому попарсить где свалилось влом?
      >>> буду очень признателен ,если кто подскажет в чем может быть дело?!

      • Iptables не выпускает Filezilla через FTP, !*! Aleks305, 21:28 , 28-Апр-11 (5)
        > Странно как то дальше
        > сейчас попробовал вместо ftp.xxxxxx вбить IP который получил пропинговав ftp и соединение
        > установилось тоесть выглядит так как будто iptables не даёт читать днc
        > . Но только в filzila ведь пинг на гугл.ком идёт и
        > на все остальное
        > Нет не в лом пытаюсь читать но ничего стоющего там не вижу
        > ((
        >>> самому попарсить где свалилось влом?
        >>>> буду очень признателен ,если кто подскажет в чем может быть дело?!

        ftp-сервер открывает порт 20 когда вы получаете файл или хотите посмотреть файл, соответственно он не попадает под правило с established, related - данные не идут, а аутентификация проходит

        iptables -A FORWARD -i eth1(ваш внешний инт) -p tcp -s <ip ftp-сервера> --sport 20 -j ACCEPT

  • Iptables не выпускает Filezilla через FTP, !*! Andrey Mitrofanov, 23:27 , 28-Апр-11 (6)
    > -A RH-Firewall-1-INPUT  -i eth1 -m tcp -p tcp --dport 53 -j
    > ACCEPT

    Во-первых, я бы постеснялся мешать в одной цепочке стейтлес и стейтфул, извините мой фрунцузский!, правила... Хотя, наверное, должно и так тоже работать.

    > #Rules for connect to router
    > #-A RH-Firewall-1-FORWARD -i eth1 -d 192.168.178.1 -m state --state NEW,ESTABLISHED -j
    > ACCEPT
    > #-A RH-Firewall-1-FORWARD -i eth0 -d 192.168.2.0/24 -m state --state ESTABLISHED -j ACCEPT

    Вот эти два выкинуть и забыть. (Сам вижу, что закоментированы.)

    > #-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    А вот это -- включить, плюс во всех стейтфул правилах ниже оставить только чистый "--state NEW". Пакеты "RELATED,ESTABLISHED" от всех соединей, которые были "открыты" из состояния ровно NEW, будут пропущены _этим_--^^^ правилом. Так, как мне показалось, устроены эти "RH-Firewall-1"-скрипты...

    > #SQUID
    > -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp
    > --dport 3128 -j ACCEPT
    > -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp
    > --dport 8080 -j ACCEPT

    Соотвтственно:
    -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT

    Кстати, заметил, что объединеие INPUT и FORWARD в одну кучу в этих "RH-Firewall-1"-подобных пустит юзеров из локалки не только к сквиду на роутере, но и, сюрприз, на порты, в данном примере, 3128 и 8080 любого хоста снаружи, в интернете. Неаккуратнентко!

    > #VNC
    > -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,ESTABLISHED -m tcp
    > --dport 5900 -j ACCEPT
    > -A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED  -m
    > tcp --sport 80 -j ACCEPT

    Аналогично, для "простых" сервисов: в первом--^^^ оставить только NEW, второе выкинуть.

    > #HTTPS
    > -A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -m tcp
    > --sport 443 -j ACCEPT

    Выкинуть, всёравно не работает: нет открытия соединения с NEW. Или переписать.

    > #SSH
    > -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
    > -p tcp --dport 22 -j ACCEPT

    То же: оставить только NEW; верно ли, что оно пускает юзеров по ssh не только на прокси.


    А... понял. Ещё вариант: убираем общее правило для RELATED,ESTABLISHED, а каждый сервис "выписываем" примерно так:

    -A RH-Firewall-1-INPUT -p tcp -s 192.168.2.0/24 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp --sport 22 -d 192.168.2.0/24 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

    или так
    $IPT_ADD -i eth1 -p tcp -s 192.168.2.0/24 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
    $IPT_ADD -o eth1 -p tcp --sport 22 -d 192.168.2.0/24 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT


    >[оверквотинг удален]
    > #Allow active
    > -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
    > -p tcp --dport 20 -j ACCEPT
    > -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
    > 20 -j ACCEPT
    > #Allow passive FTP
    > -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
    > -p tcp --dport 1024 -j ACCEPT
    > -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
    > 1024 -j ACCEPT

    Ага, самое вкусное. :) Не скажу, что всё, что ниже сам написал, но очень старался скопипастить верно.

    # Setting up rules for initial FTP connection server
    $IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport ftp -m state --state NEW,ESTABLISHED -j ACCEPT
    $IPT_ADD -o eth1 -p tcp --sport ftp --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

    # Setting up rules for Active FTP server
    $IPT_ADD -o eth1 -p tcp --sport ftp-data --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport ftp-data -m state --state ESTABLISHED -j ACCEPT

    # Setting up rules for Passive FTP server
    $IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT_ADD -o eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

    И комментарии тоже не мои -- специально обученный скрипт пишет. То, что выше с $IPT_ADD (два сервиса) сгенерировано из двух последних строк примерно такого конфига:

    ---8<---
    version 5

    router r
            server ssh accept src 192.168.2.0/24 inface eth1
            server ftp accept inface eth1
    --->8---

    На самом деле с комментариями - из "explain" сессии.

    Welcome - http://firehol.sf.net/




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру