The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"проблема с установлением FTP соединения через firewall"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"проблема с установлением FTP соединения через firewall" 
Сообщение от lastdruid emailИскать по авторуВ закладки(ok) on 26-Июл-05, 16:57  (MSK)
Люди, помогите плиз!
Есть такая трабла (сабж)
Из локальной сетики не могу установить ФТП соединение.
С фаера устанавливается нормально.

Лог ФТП клиента:
STATUS:>   Getting listing ""...
STATUS:>   Resolving host name hosting.sarkor.com...
STATUS:>   Host name hosting.sarkor.com resolved: ip = 81.95.224.150.
STATUS:>   Connecting to ftp server hosting.sarkor.com:21 (ip = 81.95.224.150)...
STATUS:>   Socket connected. Waiting for welcome message...
220 ProFTPD 1.2.10 Server (ProFTPD) [81.95.224.150]
STATUS:>   Connected. Authenticating...
COMMAND:> USER vasyapupkin
331 Password required for vasyapupkin.
COMMAND:> PASS *****
230 User vasyapupkin logged in.
STATUS:>   Login successful.
COMMAND:> PWD
257 "/" is current directory.
STATUS:>   Home directory: /
COMMAND:> FEAT
211-Features:
MDTM
REST STREAM
SIZE
211 End
STATUS:>   This site supports features.
STATUS:>   This site supports SIZE.
STATUS:>   This site can resume broken downloads.
COMMAND:> REST 0
350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer
COMMAND:> PASV
227 Entering Passive Mode (81,95,224,150,189,50).
COMMAND:> LIST
STATUS:>   Connecting ftp data socket 81.95.224.150:48434...
ERROR:>   Can't connect to remote server. Socket error = #10065.

И так каждый раз, только порт меняется 81.95.224.150:48434 <===
Iptables у меня такие:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
-A POSTROUTING -o eth1 -p tcp -j SNAT  --to-source 80.80.212.30:1024-65535
-A POSTROUTING -o eth1 -p udp -j SNAT  --to-source 80.80.212.30:1024-65535
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
: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 -i eth0 -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state -i eth0 --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -d 0.0.0.0/0 --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m udp -p udp -d 0.0.0.0/0 --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -d 0.0.0.0/0 --dport 953 -j ACCEPT
-A RH-Firewall-1-INPUT -m udp -p udp -d 0.0.0.0/0 --dport 953 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --sport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --sport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -d 0.0.0.0/0 --dport 8443 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 3128 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 1001 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 5190 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

Подскажите где грабли плиз?! Как мне сделать так что не открывая все порты пропускать ФПТ?!

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "проблема с установлением FTP соединения через firewall" 
Сообщение от Pavel emailИскать по авторуВ закладки(??) on 26-Июл-05, 18:08  (MSK)
>Люди, помогите плиз!
>Есть такая трабла (сабж)
>Из локальной сетики не могу установить ФТП соединение.
>С фаера устанавливается нормально.
>
>Лог ФТП клиента:
>STATUS:>   Getting listing ""...
>STATUS:>   Resolving host name hosting.sarkor.com...
>STATUS:>   Host name hosting.sarkor.com resolved: ip = 81.95.224.150.
>STATUS:>   Connecting to ftp server hosting.sarkor.com:21 (ip = 81.95.224.150)...
>STATUS:>   Socket connected. Waiting for welcome message...
>  220 ProFTPD 1.2.10 Server (ProFTPD) [81.95.224.150]
>STATUS:>   Connected. Authenticating...
>COMMAND:> USER vasyapupkin
>  331 Password required for vasyapupkin.
>COMMAND:> PASS *****
>  230 User vasyapupkin logged in.
>STATUS:>   Login successful.
>COMMAND:> PWD
>  257 "/" is current directory.
>STATUS:>   Home directory: /
>COMMAND:> FEAT
>  211-Features:
>   MDTM
>   REST STREAM
>   SIZE
>  211 End
>STATUS:>   This site supports features.
>STATUS:>   This site supports SIZE.
>STATUS:>   This site can resume broken downloads.
>COMMAND:> REST 0
>  350 Restarting at 0. Send STORE or RETRIEVE to initiate
>transfer
>COMMAND:> PASV
>  227 Entering Passive Mode (81,95,224,150,189,50).
>COMMAND:> LIST
>STATUS:>   Connecting ftp data socket 81.95.224.150:48434...
>ERROR:>   Can't connect to remote server. Socket error = #10065.
>
>И так каждый раз, только порт меняется 81.95.224.150:48434 <===
>Iptables у меня такие:
>*nat
>:PREROUTING ACCEPT [0:0]
>:POSTROUTING ACCEPT [0:0]
>:OUTPUT ACCEPT [0:0]
>-A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
>
>-A POSTROUTING -o eth1 -p tcp -j SNAT  --to-source 80.80.212.30:1024-65535
>-A POSTROUTING -o eth1 -p udp -j SNAT  --to-source 80.80.212.30:1024-65535
>COMMIT
>*filter
>:INPUT DROP [0:0]
>:FORWARD DROP [0:0]
>:OUTPUT ACCEPT [0:0]
>: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 -i eth0 -p icmp --icmp-type any -j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
>-A RH-Firewall-1-INPUT -m state -i eth0 --state NEW -m tcp -p tcp
>--dport 22 -j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -d 0.0.0.0/0 --dport 53 -j ACCEPT
>
>-A RH-Firewall-1-INPUT -m udp -p udp -d 0.0.0.0/0 --dport 53 -j ACCEPT
>
>-A RH-Firewall-1-INPUT -m tcp -p tcp -d 0.0.0.0/0 --dport 953 -j ACCEPT
>
>-A RH-Firewall-1-INPUT -m udp -p udp -d 0.0.0.0/0 --dport 953 -j ACCEPT
>
>-A RH-Firewall-1-INPUT -p tcp --dport 20 -j ACCEPT
>-A RH-Firewall-1-INPUT -p tcp --sport 20 -j ACCEPT
>-A RH-Firewall-1-INPUT -p tcp --dport 21 -j ACCEPT
>-A RH-Firewall-1-INPUT -p tcp --sport 21 -j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -d 0.0.0.0/0 --dport 8443 -j ACCEPT
>
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 --dport 8080 -j ACCEPT
>
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 3128
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 110
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 25
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 1001
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 443
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m tcp -p tcp -s 10.10.0.0/24 -d 0.0.0.0/0 --dport 5190
>-j ACCEPT
>-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
>COMMIT
>
>Подскажите где грабли плиз?! Как мне сделать так что не открывая все
>порты пропускать ФПТ?!

Да поможет тебе плугин ip_conntrack_ftp для локального соедиения и плугин ip_nat_ftp для NAT-соединения.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "проблема с установлением FTP соединения через firewall" 
Сообщение от lastdruid emailИскать по авторуВ закладки(ok) on 27-Июл-05, 09:38  (MSK)
>Да поможет тебе плугин ip_conntrack_ftp для локального соедиения и плугин ip_nat_ftp для
>NAT-соединения.

ввел
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

перегрузил iptables
проверил. проблема осталась.
что я сделал неправильно?! ;)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "проблема с установлением FTP соединения через firewall" 
Сообщение от Pavel emailИскать по авторуВ закладки(??) on 27-Июл-05, 13:19  (MSK)
>>Да поможет тебе плугин ip_conntrack_ftp для локального соедиения и плугин ip_nat_ftp для
>>NAT-соединения.
>
>ввел
>modprobe ip_conntrack_ftp
>modprobe ip_nat_ftp
>
>перегрузил iptables
>проверил. проблема осталась.
>что я сделал неправильно?! ;)
Пробуй пассив, пробуй актив а вось запашет.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "проблема с установлением FTP соединения через firewall" 
Сообщение от Junior emailИскать по авторуВ закладки(ok) on 27-Июл-05, 15:29  (MSK)
>ввел
>modprobe ip_conntrack_ftp
>modprobe ip_nat_ftp
>
>перегрузил iptables
>проверил. проблема осталась.
>что я сделал неправильно?! ;)

Ты мне скажи: зачем все соединения с INPUT и FORWARD пускать в ОДНУ цепочку????

Как ты расчитываешь делать форвард пакетов не указывая входящего и исходящего интерфейса?

Быстро курить iptables-tutorial!!

Удачи.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "проблема с установлением FTP соединения через firewall" 
Сообщение от lastdruid emailИскать по авторуВ закладки(ok) on 27-Июл-05, 15:58  (MSK)
>Ты мне скажи: зачем все соединения с INPUT и FORWARD пускать в
>ОДНУ цепочку????
так было по умолчанию после установки, я только добавлял цепочки по надобности.
Как время будет разведу по красивым цепочка, а пока я только учусь!

всё, кроме вышеописанной проблемы работает

>Как ты расчитываешь делать форвард пакетов не указывая входящего и исходящего интерфейса?
какаие будут предложения!? где нужно явно указать интерфейсы?!

>Быстро курить iptables-tutorial!!
Выкурил 2 раза ;)
Видно мало...


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "проблема с установлением FTP соединения через firewall" 
Сообщение от Junior emailИскать по авторуВ закладки(ok) on 27-Июл-05, 18:47  (MSK)
>>Быстро курить iptables-tutorial!!
>Выкурил 2 раза ;)
>Видно мало...
Да без толку. Ну ладно, смотри сам.
Вот твои правила:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

это заворачивание всех пакетов на eth0 идущих на 80(http) порт на твой прокси-сервер, вероятно SQUID.

-A POSTROUTING -o eth1 -p tcp -j SNAT  --to-source 80.80.212.30:1024-65535
-A POSTROUTING -o eth1 -p udp -j SNAT  --to-source 80.80.212.30:1024-65535

это SNAT твоих исходящих с eth1 соединений на адрес 8.80.212.30 на непривелигированные порты (хотя зачем - не понимаю, просто делай SNAT на легальный адрес, без указания портов)

COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

Установка политик в таблицах на DROP (INPUT, FORWARD) и ACCEPT (OUTPUT)

:RH-Firewall-1-INPUT - [0:0]

добавление цепочки RH-Firewall-1-INPUT (тоже сомнительное удовольствие, зачем плодить эти цепочки??)

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

Перенаправление ВСЕХ твоих входящих и форвардящихся соединений в вышесозданную цепочку!!! Ну мля! "Ну кто так строит??" (с)

Ну и дальше по тексту, все правила (на свой вкус), НО все они относятся с цепочке INPUT !!!!
А так, как у тебя политика FORWARD стоит DROP, то все твои попытки соединиться помимо SQUID-а просто уничтожаются (DROP)

-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state -i eth0 --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
...бла-бла-бла... и так далее..

Для успешного "сквозного" прохождения твоих ftp-соединений нужно что-то типа этого.

iptables -A FORWARD -s 192.168.1.2 -i eth0 -o eth1 -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.1.2 -i eth0 -o eth1 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
Ну и правила для обратного прохождения тоже нужны, но это уже будет втоё домашнее задание :)

Где 192.168.1.2 - твой адрес в локальной сети.
Одним словом читать iptables-tutorial мало (и курить его тоже), нужно пытаться понять что к чему. Для лучшей усвояемости порядка движений пакетов создай скрипт для iptablesб который разрешает всё везде, но логирует соединения, чтобы ты мог наглядно видеть что и где ходит.

#!/bin/sh
ipt="/sbin/iptables
$ipt -F
$ipt -X
$ipt -P INPUT ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -t nat -F
$ipt -t nat -X
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t mangle -F
$ipt -t mangle -X
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
$ipt -t mangle -P OUTPUT ACCEPT
$ipt -t mangle -P INPUT ACCEPT
$ipt -t mangle -P FORWARD ACCEPT

# Это мы очистили таблицы и установили политики разрешения везде.
# Далее логируем все пакеты, но чтобы не забить лог, ставим лимиты.

$ipt -A INPUT -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "FILTER INPUT   "
$ipt -A OUTPUT -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "FILTER OUTPUT   "
$ipt -A FORWARD -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "FILTER FORWARD   "

$ipt -t nat -A PREROUTING -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "NAT PREROUTING   "
$ipt -t nat -A POSTROUTING -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "NAT POSTROUTING   "
$ipt -t nat -A OUTPUT -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "NAT OUTPUT   "

$ipt -t mangle -A PREROUTING -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "MANGLE PREROUTING   "
$ipt -t mangle -A INPUT -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "MANGLE INPUT   "
$ipt -t mangle -A OUTPUT -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "MANGLE OUTPUT   "
$ipt -t mangle -A FORWARD -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "MANGLE FORWARD   "
$ipt -t mangle -A POSTROUTING -m limit --limit 1/min --limit-burst 1 -j LOG --log-prefix "MANGLE POSTROUTING   "

Вот и всё. Теперь очисти лог, чтобы не мешал и сделай пинг в 1 пакет с локального узла, с компа в сети. И увидишь что как и куда ходит.

Удачи.

/*Мля.. почти диссертация..*/

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "проблема с установлением FTP соединения через firewall" 
Сообщение от John Искать по авторуВ закладки(??) on 27-Июл-05, 16:17  (MSK)
>modprobe ip_conntrack_ftp
>modprobe ip_nat_ftp
>
>перегрузил iptables

а после перезагрузки iptables модули остались? Скорее всего - нет.
посмотреть можно lsmod
А вообще, судя по постам, используется RedHat - там модули надо прописывать в /etc/sysconfig/iptables-config
IPTABLES_MODULES="....."

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "проблема с установлением FTP соединения через firewall" 
Сообщение от lastdruid emailИскать по авторуВ закладки(ok) on 11-Авг-05, 12:17  (MSK)
Спасибо всем, кто отвечал! Меня закинули в командировку, как только вернусь и доберусь до сервака сразу проверю!
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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