Люди, помогите плиз!
Есть такая трабла (сабж)
Из локальной сетики не могу установить ФТП соединение.
С фаера устанавливается нормально.Лог ФТП клиента:
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Подскажите где грабли плиз?! Как мне сделать так что не открывая все порты пропускать ФПТ?!
>Люди, помогите плиз!
>Есть такая трабла (сабж)
>Из локальной сетики не могу установить ФТП соединение.
>С фаера устанавливается нормально.
>
>Лог ФТП клиента:
>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-соединения.
>Да поможет тебе плугин ip_conntrack_ftp для локального соедиения и плугин ip_nat_ftp для
>NAT-соединения.ввел
modprobe ip_conntrack_ftp
modprobe ip_nat_ftpперегрузил iptables
проверил. проблема осталась.
что я сделал неправильно?! ;)
>>Да поможет тебе плугин ip_conntrack_ftp для локального соедиения и плугин ip_nat_ftp для
>>NAT-соединения.
>
>ввел
>modprobe ip_conntrack_ftp
>modprobe ip_nat_ftp
>
>перегрузил iptables
>проверил. проблема осталась.
>что я сделал неправильно?! ;)
Пробуй пассив, пробуй актив а вось запашет.
>ввел
>modprobe ip_conntrack_ftp
>modprobe ip_nat_ftp
>
>перегрузил iptables
>проверил. проблема осталась.
>что я сделал неправильно?! ;)Ты мне скажи: зачем все соединения с INPUT и FORWARD пускать в ОДНУ цепочку????
Как ты расчитываешь делать форвард пакетов не указывая входящего и исходящего интерфейса?
Быстро курить iptables-tutorial!!
Удачи.
>Ты мне скажи: зачем все соединения с INPUT и FORWARD пускать в
>ОДНУ цепочку????
так было по умолчанию после установки, я только добавлял цепочки по надобности.
Как время будет разведу по красивым цепочка, а пока я только учусь!всё, кроме вышеописанной проблемы работает
>Как ты расчитываешь делать форвард пакетов не указывая входящего и исходящего интерфейса?
какаие будут предложения!? где нужно явно указать интерфейсы?!>Быстро курить iptables-tutorial!!
Выкурил 2 раза ;)
Видно мало...
>>Быстро курить 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 пакет с локального узла, с компа в сети. И увидишь что как и куда ходит.
Удачи.
/*Мля.. почти диссертация..*/
>modprobe ip_conntrack_ftp
>modprobe ip_nat_ftp
>
>перегрузил iptablesа после перезагрузки iptables модули остались? Скорее всего - нет.
посмотреть можно lsmod
А вообще, судя по постам, используется RedHat - там модули надо прописывать в /etc/sysconfig/iptables-config
IPTABLES_MODULES="....."
Спасибо всем, кто отвечал! Меня закинули в командировку, как только вернусь и доберусь до сервака сразу проверю!