URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 56134
[ Назад ]

Исходное сообщение
"Проблема с FTP через NAT"

Отправлено Andrei , 03-Май-05 12:29 
Добрый день!
Не работает FTP через NAT.
Имеется Linux 7.2 машина. eth0 - смотрит в 1 локалку, ppp0 - соединяется с ftp сервером в 2 локалке. Необходимо выходить на ftp из 1 локалки.
В качестве Nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
все остальное ACCEPT
модули ip_conntrack_ftp ip_nat_ftp подгружены.
Из 1 локалки ping на ftp проходит. Ftp соединение выдаёт unnknown error number. C машины Linux ftp соединение устанавливается.

Содержание

Сообщения в этом обсуждении
"Проблема с FTP через NAT"
Отправлено jonatan , 03-Май-05 12:41 
Посмотрите сниффером ftp-сессию клиента из 1 локалки с сервером.

"Проблема с FTP через NAT"
Отправлено McLeod095 , 03-Май-05 14:32 
>Посмотрите сниффером ftp-сессию клиента из 1 локалки с сервером.

А такое правило присутствует

$IPTABLES -A INPUT -i $INTER -m state --state ESTABLISHED,RELATED -j ACCEPT

Могет конечно и не прав быть.


"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 14:44 
>>Посмотрите сниффером ftp-сессию клиента из 1 локалки с сервером.
>
>А такое правило присутствует
>
>$IPTABLES -A INPUT -i $INTER -m state --state ESTABLISHED,RELATED -j ACCEPT
>
>Могет конечно и не прав быть.


правила на INPUT по умолчанию ACCEPT


"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 14:49 
>Посмотрите сниффером ftp-сессию клиента из 1 локалки с сервером.


Ftp сессия вообще не устанавливается :(


"Проблема с FTP через NAT"
Отправлено jonatan , 03-Май-05 14:51 
Покажите все-таки
iptables -nvL
iptables -nvL -t nat

"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 15:03 
>Покажите все-таки
>iptables -nvL
>iptables -nvL -t nat

iptables -nvL:
Chain INPUT (policy ACCEPT 7444 packets, 656K bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain FORWARD (policy ACCEPT 34 packets, 2118 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain OUTPUT (policy ACCEPT 48 packets, 2395 bytes)
pkts bytes target     prot opt in     out     source               destination  

iptables -nvL -t nat

Chain PREROUTING (policy ACCEPT 708 packets, 123K bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain POSTROUTING (policy ACCEPT 5 packets, 348 bytes)
pkts bytes target     prot opt in     out     source               destination        
    2   120 MASQUERADE  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          
   14   900 MASQUERADE  all  --  *      *       0.0.0.0/0            0.0.0.0/0          
    0     0 MASQUERADE  all  --  *      ppp0    0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT 6 packets, 426 bytes)
pkts bytes target     prot opt in     out     source               destination  


"Проблема с FTP через NAT"
Отправлено jonatan , 03-Май-05 15:12 
>Chain POSTROUTING (policy ACCEPT 5 packets, 348 bytes)
> pkts bytes target     prot opt in  
>   out     source   destination
>    2   120 MASQUERADE  tcp  -- *      *   0.0.0.0/0    0.0.0.0/0
>   14   900 MASQUERADE  all  -- *      *   0.0.0.0/0    0.0.0.0/0
>    0     0 MASQUERADE  all  -- *   ppp0   0.0.0.0/0    0.0.0.0/0
А вот это непонятно. Удалите все правила из таблицы nat, а потом добавьте
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 15:24 
>>Chain POSTROUTING (policy ACCEPT 5 packets, 348 bytes)
>> pkts bytes target     prot opt in  
>>   out     source   destination
>>    2   120 MASQUERADE  tcp  -- *      *   0.0.0.0/0    0.0.0.0/0
>>   14   900 MASQUERADE  all  -- *      *   0.0.0.0/0    0.0.0.0/0
>>    0     0 MASQUERADE  all  -- *   ppp0   0.0.0.0/0    0.0.0.0/0
>А вот это непонятно. Удалите все правила из таблицы nat, а потом
>добавьте
>iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE


всё сделал, привожу результат iptables-save
# Generated by iptables-save v1.2.3 on Wed May  4 13:14:09 2005
*mangle
:PREROUTING ACCEPT [100:9013]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed May  4 13:14:09 2005
# Generated by iptables-save v1.2.3 on Wed May  4 13:14:09 2005
*filter
:INPUT ACCEPT [100:9013]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed May  4 13:14:09 2005
# Generated by iptables-save v1.2.3 on Wed May  4 13:14:09 2005
*nat
:PREROUTING ACCEPT [8:1837]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed May  4 13:14:09 2005


"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 15:38 
СЕЙЧАС iptables -nvL -t nat:

Chain PREROUTING (policy ACCEPT 39 packets, 6617 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination        
   12   720 MASQUERADE  all  --  *      ppp0    0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Причём количество пропущеных пакетов возрастает только после команды ping
с рабочей станции локальной сети 1


"Проблема с FTP через NAT"
Отправлено jonatan , 03-Май-05 16:09 
Здесь подробнее. От кого пакеты уходят, от кого ответы есть/нет и т.п.

"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 16:25 
>Здесь подробнее. От кого пакеты уходят, от кого ответы есть/нет и т.п.
>

С клиента в сети 1 проходит пинг FTP сервера в сети 2.
при этом увеличивается счётчик пакетов, прошедших через ppp0

Ftp сессия С клиента в сети 1 на FTP сервер в сети 2 не устанавливается.
при этом счётчик пакетов прошедших через ppp0 не увеличивается


"Проблема с FTP через NAT"
Отправлено jonatan , 03-Май-05 16:35 
Очень ценная информация. Вы можете описать, что Вы видите сниффером? Пакеты  от клиента на ftp-сервер приходят на локальный интерфейс? Уходят с ppp0? Есть ответы от сервера на ppp0? Уходят ли они через локальный интерфейс к клиенту?

"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 17:20 
>Очень ценная информация. Вы можете описать, что Вы видите сниффером? Пакеты  
>от клиента на ftp-сервер приходят на локальный интерфейс? Уходят с ppp0?
>Есть ответы от сервера на ppp0? Уходят ли они через локальный
>интерфейс к клиенту?


пакеты от клиента при попытке установить FTP сессию доходят до eth0, т.к.
увеличивается счётчик PREROUTING. через ppp0 пакеты уже не проходят. От ftp сервера соответственно никаких пакетов не идёт, т.к. к нему ничего не приходит.


"Проблема с FTP через NAT"
Отправлено jonatan , 03-Май-05 17:48 
Странно. Получается, что даже TCP-сессия не устанавливается? Раз ping проходит, то маршрутизация работает. Попробуйте на клиенте включить режим passive и посмотреть все-таки сниффером, что происходит.

"Проблема с FTP через NAT"
Отправлено Andrei , 03-Май-05 18:03 
>Странно. Получается, что даже TCP-сессия не устанавливается? Раз ping проходит, то маршрутизация
>работает. Попробуйте на клиенте включить режим passive и посмотреть все-таки сниффером,
>что происходит.

Спасибо за потраченное на меня время.
Достал меня этот трабл.
Решил поставить версию 8.0