Ru-Board.club
← Вернуться в раздел «Программы»

» FileZilla - opensource FTP-клиент и FTP-сервер

Автор: Cheery
Дата сообщения: 08.02.2009 00:54
В общем нашел путь к логам в исходниках, но собирать все заново надоело.. Можно сделать символический линк на директорию с помощью средств NTFS и этой программки
http://www.pearlmagik.com/winbolic/
программа использует возможности винды и не ставит никаких драйверов для работы
Автор: Posochov
Дата сообщения: 09.02.2009 17:28
Никак не могу соединиться с FTP-сервером FileZilla(последняя версия) через SSH-туннель.
Из локальной сети на сервер захожу без проблем, а вот из инета никак.

Сервер находится в локальной сети за роутером (Zyxel ADSL).
На роутере проброшен 22 порт для захода на сервер OpenSSH и проброски с помощью него портов для захода на другие сервера по защищенному каналу.
Сам FTP сервер находится в локальной сети по адресу 192.168.0.7, а сервер SSH по адресу 192.168.0.1.
Вообщем пробрасываю порт через SSH туннель так:

Цитата:
putty.exe -2 User@RemoteIP -L 77:192.168.0.7:21 -i id_rsa.ppk -pw mypassword

и пытаюсь зайти на FTP-сервер по адресу localhost, порт 77 (логин, пароль).
К серверу подключение происходит, а вот прочитать корневую директорию никак.
Все время выдает вот эту ошибку:

Цитата:
Команда:    LIST
Ответ:    150 Opening data channel for directory list.
Ответ:    425 Can't open data connection.

Ошибка:    Не могу получить список каталогов!

На этом все и заканчивается.

Пробовал разные клиенты - результат один и тот же.

Видать на сервере чего-то надо подкрутить, а вот чего в толк не возьму.
Вообщем обращаюсь за помощью к уважаемым форумчанам.
Автор: CBB
Дата сообщения: 09.02.2009 20:06
Posochov

Цитата:
Видать на сервере чего-то надо подкрутить, а вот чего в толк не возьму.

Я бы начал с настроек passive mode, default тут может не работать.
Автор: Posochov
Дата сообщения: 09.02.2009 20:21

Цитата:
Я бы начал с настроек passive mode, default тут может не работать.

Я наслышан о геморроях с FTP, поэтому если не трудно, давай начнем вместе, ибо я в этих пассивах и активах ничего не смыслю.

Я так понимаю ты имеешь в виду настройки сервера?

Ну так там в разделе Passive mode setting такие параметры:
1. Default - установлено
2. Use the following IP: - не установлено
3. Retrieve external IP adress from: - не установлено
4. Don't use external IP for local connections- установлено
5. Use custom port range: - не установлено

Итак - с чего начинать?

PS
Прикладываю лог сервера на мое неудавшееся соединение:

Цитата:
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> Connected, sending welcome message...
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> 220-FileZilla Server version 0.9.30 beta
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> USER docs
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> 331 Password required for docs
(000102) 09.02.2009 21:23:56 - (not logged in) (192.168.0.1)> PASS ******
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 230 Logged on
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> SYST
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 215 UNIX emulated by FileZilla
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> FEAT
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 211-Features:
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> MDTM
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> REST STREAM
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> SIZE
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> MLST type*;size*;modify*;
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> MLSD
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> UTF8
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> CLNT
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> MFMT
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 211 End
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> PWD
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 257 "/" is current directory.
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> TYPE I
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 200 Type set to I
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> PORT 127,0,0,1,14,96
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 200 Port command successful
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> LIST
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> 150 Opening data channel for directory list.
(000102) 09.02.2009 21:23:57 - docs (192.168.0.1)> 425 Can't open data connection.
Автор: CBB
Дата сообщения: 09.02.2009 21:28
Posochov

Цитата:
я в этих пассивах и активах ничего не смыслю

Я тоже не специалист. Знаю только, что в зависимости от этих пассивов/активов открываются дополнительные порты для передачи данных, и эти порты тоже должны поддерживаться туннелем, или на диапазон этих портов надо накладывать ограничение, или заставлять клиентов работать в активном режиме, ( или наоборот )
У тебя клиент дает твоему серверу команду на открытие этих дополнительных портов - PORT 127,0,0,1,14,96 , сервер порты открывает, но передача по ним не идет.

Вызови Мастера настройки сети в клиенте файлзиллы, там, возможно, более толковое объяснение.
Автор: Posochov
Дата сообщения: 09.02.2009 22:14

Цитата:
Я тоже не специалист.

Обидно.
Что характерно, через тот же SSH-туннель (-L 7777:192.168.0.7:7707), на тот же компьютер (192.168.0.7), я спокойно захожу на UltraVNC-сервер (порт 7707).

Стало быть схема подключения вполне работоспособная.
Дело только в особенностях FTP-сервера. (или FTP-клиента?)
Только вот в чем они?
Автор: Cheery
Дата сообщения: 09.02.2009 23:02
Posochov

Цитата:
Я наслышан о геморроях с FTP, поэтому если не трудно, давай начнем вместе, ибо я в этих пассивах и активах ничего не смыслю.

ну так разберитесь.
ftp использует 2 порта..
21 для комманд и 20 для данных.
но все зависит от типа передачи данных.. в активном режиме клиент говорит серверу на какой порт передавать данные и сервер сам коннектится к клиенту. ессно если клиент за NAT и нет проброса портов, то не сработает.
в пассивном сервер говорит клиенту на какой порт коннектиться к серверу для забора данных.
аналогично не будет работать, если сервер на NAT и нет проброса портов.
в вашем случае, как очевидно..

Цитата:
(000102) 09.02.2009 21:23:56 - docs (192.168.0.1)> PORT 127,0,0,1,14,96

указывается, что сервер должен идти на 3680 порт для передачи данных.. но софт у клиента не дает ему передать данные на 3680 порт.
Автор: CBB
Дата сообщения: 09.02.2009 23:04
Posochov

Цитата:
Только вот в чем они?
Ну сказано ж - не идет передача через вспомогательные порты. У тебя клиент в активном режиме, кстати, что не рекомендуется, - в логе нет PASV. Т.е. именно клиент пытается навязать, какие порты использовать. Попробуй хотя бы начать с того, чтоб клиента обязать работать в пассивном режиме. И опять глянь в лог.
Автор: Posochov
Дата сообщения: 10.02.2009 08:55
Cheery
CBB
Спасибо за участие, но странно тут вот что.

Когда я на роутере сервера пробрасываю 21 порт на локальный адрес FTP-сервера (192.168.0.7) и захожу на сервер по внешнему IP:21, то здесь все работает в любых режимах.

Цитата:
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> PORT 89,113,74,*,172,255
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> 200 Port command successful
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> LIST
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> 150 Opening data channel for directory list.
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> 226 Transfer OK

Цитата:
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> PASV
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 227 Entering Passive Mode (192,168,0,7,4,50)
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> LIST
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 150 Connection accepted
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 226 Transfer OK

Но меня это не устраивает, потому как открывать 21 порт на роутере мне не хочется в целях безопасности, поэтому я и хочу заходить на свои сервера по SSH-туннелю.

Только вот когда я тот же 21 порт пробрасываю через SSH-туннель (-L 5555:192.168.0.7:21) и захожу на сервер по localhost:5555, работать ничего не хочет, ни в каких режимах.

Цитата:
(000004) 10.02.2009 9:14:53 - docs (192.168.0.1)> PORT 127,0,0,1,19,176
(000004) 10.02.2009 9:14:53 - docs (192.168.0.1)> 200 Port command successful
(000004) 10.02.2009 9:14:53 - docs (192.168.0.1)> LIST
(000004) 10.02.2009 9:14:53 - docs (192.168.0.1)> 150 Opening data channel for directory list.
(000004) 10.02.2009 9:14:54 - docs (192.168.0.1)> 425 Can't open data connection.

Цитата:
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> PASV
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> 227 Entering Passive Mode (192,168,0,7,4,49)
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> LIST
(000003) 10.02.2009 9:14:40 - docs (192.168.0.1)> 425 Can't open data connection.


В то время как пробрасывая через SSH-туннель порт 7707 (-L 7777:192.168.0.7:7707) для захода на UltraVNC сервер, тут все работает прекрасно.
Таким же образом я захожу на сервер MySQL (-L 3333:localhost:3306), и здесь все работает.

Выходит есть разница для FTP-сервера между проброской 21 порта на роутере и проброской 21 порта через SSH-туннель.

Вот тут то и затык у меня. А очень хочется добить этот вопрос.

PS
Нашел статью Туннели в SSH
Так там сказано:

Цитата:
Туннели дают возможность объединить территориально разрозненные сети для удобства управления и обеспечения безопасности доступа ко внутренним ресурсам. Правда, есть одно ограничение. Туннелинг можно использовать только в том случае, когда между клиентом и сервером создается одно TCP-соединение. Например, для этого вполне подходят протоколы почтовых серверов SMTP, IMAP и POP3, web-трафик, но FTP — нет.

Выходит приехали?
И забраться на FTP-сервер по SSH-туннелю в принципе не возможно?

PSPS
А вот здесь написано что можно и FTP туннелировать.

Цитата:
Этот метод можно использовать для любого числа небезопасных протоколов, таких как SMTP, POP3, FTP, и так далее.

Или вот еще:

Цитата:
myhost$ ssh -L 1234:ftphost.example.com:21 ssh-server

Выполнив эту команду вы войдете на компьютер "ftphost", а порт "myhost":1234 будет перенаправлен с использованием шифрования на "ftphost":21.

Теперь в другом окне на компьютере "myhost", можете запускать клиента ftp следующим образом:

myhost$ ftp localhost 1234
220 ftphost FTP server (Foonix 08/15) ready.
Name: (myhost:yourname):
331 Password required for yourname
Password:
230 User yourname logged in.

Это работает в том случае если удаленный ftp сервер позволяет выполнять PORT команды с указанием адреса host'а отличным от того с которого поступают команды[типа proxy] и если ftp-client тоже использует PORT. Это работает для "vanilla" Unix ftp клиентов и серверов, но может не работать для продвинутых FTPD-серверов, таких как wu-ftpd.


Вообщем как всегда - не знаешь чему верить и за что хвататься.
А зайти на FTP-сервер пока никак.
Автор: Cheery
Дата сообщения: 10.02.2009 18:41
Posochov

Цитата:
Только вот когда я тот же 21 порт пробрасываю через SSH-туннель (-L 5555:192.168.0.7:21) и захожу на сервер по localhost:5555, работать ничего не хочет, ни в каких режимах.

да потому что
Цитата:
PORT 127,0,0,1,19,176

говорит серверу коннектиться самому на себя? вот только не уверен, что ssh туннель это понимает, что надо слушать еще какой то порт на удаленной машине.

и не надо сравнивать божий дар с яичницой. ssh, mysql используют один порт для двустороннего обмена
ftp же два.
Автор: Posochov
Дата сообщения: 10.02.2009 18:48
Cheery
Цитата:
ssh, mysql используют один порт для двустороннего обмена
ftp же два.
Пробовал я пробрасывать два порта (20 и 21) - тот же результат.

Цитата:
да потому что
Цитата:
PORT 127,0,0,1,19,176
говорит серверу коннектиться самому на себя?
Но это в активном режиме. А в пассивном?
Или выходит, что и впрямь к FTP через SSH-туннель не подобраться?


Автор: Cheery
Дата сообщения: 10.02.2009 20:32
Posochov

Цитата:
Пробовал я пробрасывать два порта (20 и 21) - тот же результат.

куда пробрасывать??? блин.. ну почитайте принцип передачи, а? 20 порт использует сервер, с него передает. в активном режиме ftp коннектится для передачи со своего 20 порта. проброс при этом не нужен со стороны сети ftp сервера.


Цитата:
Но это в активном режиме. А в пассивном?


Цитата:
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> PASV
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> 227 Entering Passive Mode (192,168,0,7,4,49)
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> LIST
(000003) 10.02.2009 9:14:40 - docs (192.168.0.1)> 425 Can't open data connection.

сказано.. не может подключиться к вам на порт 4*256+49
а почему - ну не знаю.. может вы в другой подсети и он не знает где 192.168.0.7 и как туда попасть.
Автор: Posochov
Дата сообщения: 10.02.2009 20:47
Cheery

Цитата:
ну почитайте принцип передачи,

Читаю вслух:

Цитата:
Туннели дают возможность объединить территориально разрозненные сети для удобства управления и обеспечения безопасности доступа ко внутренним ресурсам. Правда, есть одно ограничение. Туннелинг можно использовать только в том случае, когда между клиентом и сервером создается одно TCP-соединение. Например, для этого вполне подходят протоколы почтовых серверов SMTP, IMAP и POP3, web-трафик, но FTP — нет.

Или

Цитата:
Это работает в том случае если удаленный ftp сервер позволяет выполнять PORT команды с указанием адреса host'а отличным от того с которого поступают команды[типа proxy] и если ftp-client тоже использует PORT. Это работает для "vanilla" Unix ftp клиентов и серверов, но может не работать для продвинутых FTPD-серверов, таких как wu-ftpd.


Ну так сколько же соединений создается между клиентом и сервером FTP?
Если действительно больше одного, которые туннель не поддерживает, тогда чего тут логи разглядывать - пустое это все.
Автор: Cheery
Дата сообщения: 10.02.2009 20:53
Posochov

Цитата:
Читаю вслух:

не то читаете.. я говорю почитайте как работает FTP


Цитата:
Ну так сколько же соединений создается между клиентом и сервером FTP?

2


Цитата:
Это работает в том случае если удаленный ftp сервер позволяет выполнять PORT команды с указанием адреса

ну укажите вы адрес.. а сервер может и не знать как до него достать. (в случае активного режима)


Цитата:
сказано.. не может подключиться к вам на порт 4*256+49
а почему - ну не знаю.. может вы в другой подсети и он не знает где 192.168.0.7 и как туда попасть.

тут перепутал, сорри.. в пассивном режиме вы коннектитесь, а сервер ждет подключения.
вот, просмотрите
http://slacksite.com/other/ftp.html

Цитата:
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> 227 Entering Passive Mode (192,168,0,7,4,49)
(000003) 10.02.2009 9:14:30 - docs (192.168.0.1)> LIST
(000003) 10.02.2009 9:14:40 - docs (192.168.0.1)> 425 Can't open data connection.

чей лог? клиента? значит не может подключиться к серверу на указанный порт.. может там ему файерволл мешает.


Цитата:
Если действительно больше одного, которые туннель не поддерживает, тогда чего тут логи разглядывать - пустое это все.

в пассивном режиме должно работать. если ничего не мешает ftp серверу слушать порты и роутер настроен на проброс именно этих портов. именно для этой цели в настройках ftp сервера указывается диапазон портов, которые можно использовать для пассивного ftp режима и именно этот весь диапазон и надо пробрасывать на роутере.

в случае туннеля внутрь это тоже должно работать если ничто не блокирует на самой машине открытие портов.
Автор: Posochov
Дата сообщения: 10.02.2009 21:44

Цитата:
чей лог? клиента? значит ...

Не значит!
Потому как все приведенные логи - логи сервера.
Цитата:
в пассивном режиме должно работать. если ничего не мешает ftp серверу слушать порты и роутер настроен на проброс именно этих портов. именно для этой цели в настройках ftp сервера указывается диапазон портов, которые можно использовать для пассивного ftp режима и именно этот весь диапазон и надо пробрасывать на роутере.

Чего то ты переборщил насчет проброски на роутере всего диапазона портов.
Это к примеру порты от 50000 до 50100 нужно пробрасывать?
Чего ж это будет? Проходной двор, а не роутер.

Когда я на роутере пробрасывал ТОЛЬКО!!! 21 порт на локальный адрес сервера - из интернета все работало, и в пассивном и в активном режимах. (не через туннель, разумеется)

Но я уже говорил, меня это не устраивает в целях безопасности.
А в целях безопасности на роутере должен быть открыт ТОЛЬКО!!! один 22 порт для безопасного захода на сервера локальной сети.
Только выходит что не на все. FTP - похоже исключение.
В интернете, кстати, много тому подтверждений.

PS
Твои замечания имеют смысл только в том случае если тебе известно, что доступ по SSH-туннелю к FTP серверу возможен в принципе и тебе известно что для этого нужно.
А так это просто ликбез по FTP протоколу - не более.
Автор: Cheery
Дата сообщения: 10.02.2009 21:48
Posochov

Цитата:
Чего то ты переборщил насчет проброски на роутере всего диапазона портов.
Это к примеру порты от 50000 до 60000 нужно пробрасывать?
Чего ж это будет? Проходной двор, а не роутер.

те, которые укажите использовать серверу, те и пробрасывать.
и ничего я не переборщил..
http://www.mdjnet.dk/router.html

Цитата:
Q: Which ports do I need to open on the router?
A: The router will need to forward port 21, and the entire chosen port range. This is why it is a good idea to choose a port range not used by any other applications, or they will be visible from the Internet. Opening up such a large range of ports could be seen as a security issue, but if no other programs listen on the ports, it is only a problem, if a trojan gets inside - and then you are in trouble anyway. Opening up for a single wrong port (like 445) is far more dangerous than opening up an entire port range of "unused" ports. Also, a personal firewall on the server box can be configured to allow such incomming connections only when the port is owned by the FTP server.


Цитата:
Q: What configuration is needed in the FTP server program itself?
A: Two things: First, at passive port range must be selected - if possible. This is possible for Cerberus (Configuration/Server Manager/Advanced/PASV Port Range). I recommend choosing a range of at least several hundred ports starting on 1025 or above, and also to choose a range not used by other programs. To find that out, try "netstat -an" from a command prompt or use TcpView from Sysinternals. Note that when running the FTP server, the port range will not show up in these applications as in use. The server will not allocate a port from the port range until it actually needs one.
Second, you must let the FTP server know the external ip-address (Configuration/Server Manager/Interface Options/PASV Options). You probably use a router, giving you a privileged ip-address like 192.168.*.*, but the server needs to know what it looks like seen from the client, so it must be aware of the ip-address used by the router. However, some routers are capable of recognizing the PORT command, and will automatically substitute the privileged ip-address with the real one, before sending the command out to the client. Cerberus has several ways of handling this issue, you will have to figure out which one suits your setup best.



Цитата:
А я когда на роутере пробрасывал ТОЛЬКО!!! 21 порт на локальный адрес сервера - из интернета все работало, и в пассивном и в активном режимах.

да, но в случае если у вашего клиента белый IP и только в активном режиме.. будет за NATом - не сработает.


Цитата:
Твои замечания имеют смысл только в том случае если тебе известно, что доступ по SSH-туннелю к FTP серверу возможен в принципе и тебе известно что для этого нужно.

возможен.. но в пассивном режиме

ps: мне начинает надоедать этот разговор, так как от вас никаких аргументов, а только одни возгласы.
Автор: Posochov
Дата сообщения: 10.02.2009 21:56

Цитата:
в пассивном не будет,

Что значит не будет, когда я заходил и приведенные мной логи сервера тому подтверждение.

Цитата:
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> PASV
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 227 Entering Passive Mode (192,168,0,7,4,50)
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> LIST
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 150 Connection accepted
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 226 Transfer OK


Цитата:
возможен.. но в пассивном режиме

Это похоже твои догадки.
Ты либо сам попробуй зайти, либо приведи чей либо пример с указанием того что для этого необходимо.
Автор: Cheery
Дата сообщения: 10.02.2009 22:00
Posochov

Цитата:
Что значит не будет, когда я заходил и приведенные мной логи сервера тому подтверждение.

а как вы это проверяли? находились внутри сети?
хорошо, теперь смотрите что получилось.. вы пошли клиентом на внешний IP 21 порт.. пробросило внутрь, что хорошо.. перешли в пассивный режим, ваш клиент получил указание подключиться на 192.168.0.7, что он и сделал напрямик в обход внешнего интерфейса.
если бы вы, находясь вне локальной сети, получили бы такой адрес, то я бы посмотрел как ваш клиент бы пытался его найти
Автор: Posochov
Дата сообщения: 10.02.2009 22:15
Я тебе не сказки рассказываю, а привожу свои собственные примеры с доказательствами.
А ты меня хочешь убедить, что по твоей теории, то как я зашел на FTP-сервер - это не возможно.

Привожу логи сервера еще раз:
Активный режим.
Цитата:
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> PORT 89,113,74,*,172,255
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> 200 Port command successful
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> LIST
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> 150 Opening data channel for directory list.
(000009) 10.02.2009 9:20:15 - docs (89.113.74.*)> 226 Transfer OK
Пассивный режим.
Цитата:
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> PASV
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 227 Entering Passive Mode (192,168,0,7,4,50)
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> LIST
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 150 Connection accepted
(000010) 10.02.2009 9:20:22 - docs (89.113.74.*)> 226 Transfer OK

89.113.74.* - это IP клиента.
192,168,0,7 - адрес FTP-сервера в локальной сети.
На роутере сервера при этом был проброшен ТОЛЬКО ОДИН!!! 21 порт.

Цитата:
а как вы это проверяли? находились внутри сети?

Я находился вне локальной сети у себя дома и проверял логи через удаленный доступ к рабочим столам компьютеров.
К рабочим столам, кстати, я подключаюсь через SSH-туннель, пробрасывая порты на соответствующий адрес в локальной сети.
Автор: Cheery
Дата сообщения: 10.02.2009 22:23
Posochov

Цитата:
Я тебе не сказки рассказываю, а привожу свои собственные примеры с доказательствами.

давайте на Вы?

Цитата:
Активный режим.

с ним вопросов нет.. сказал же - если у вас белый IP, то будет работать. как только пересядите за NAT - ничего не получится.


Цитата:
Пассивный режим.

опять же.. не важно как, но ваша система знает как получить доступ к адресу
Цитата:
192.168.0.7

это сработает только в случае туннеля внутрь сети.. VPN, ssh, socks.. не важно. главное чтобы конечная машина, через которую идет коннект, знала как найти такой адрес.

но, устал уже повторять, если просто сторонняя система, подключаясь к внешнему IP роутера, получит такой адрес, то она не будет знать куда подключаться.

Автор: Posochov
Дата сообщения: 10.02.2009 22:32

Цитата:
но, устал уже повторять, если просто сторонняя система, подключаясь к внешнему IP роутера, получит такой адрес, то она не будет знать куда подключаться.

Это не сторонняя система получает такой адрес, а сам роутер, на котором проброшенн 21 порт на этот самый адрес.
А он то как раз знает куда подключаться.

PS
Короче у меня не через туннель все работает, но мне это НЕ НАДО!!!
И обсуждать это больше не буду.

Меня интересует ТОЛЬКО!!! вопрос безопасного подключения к FTP-серверу по SSH-туннелю.
Автор: Cheery
Дата сообщения: 10.02.2009 22:44
Posochov

Цитата:
Это не сторонняя система получает такой адрес, а сам роутер, на котором проброшенн 21 порт на этот самый адрес.
А он уже подключается к внешнему IP клиента.

эм.. с этого и нужно начинать. тут есть особенность в том, что может ли программное обспечение роутера "понимать" ftp команды и, скажем, распознать эту команду, открыть данный порт у себя, заменив IP на внешний и подключение на указаный порт автоматом перебрасывать внутрь. все зависит от степени "разумности" роутера. обычный так не делает.
для проверки - смотрите какой IP в конце концов получает внешний клиент после PASV.. такой же или роутера.


Цитата:
Меня интересует ТОЛЬКО!!! вопрос безопасного подключения к FTP-серверу по SSH-туннелю.

ssh на ту же машину, где и сервер? сделайте иначе.. создайте туннель, но не на 21 порт, а просто на ту машину (то есть на по умолчанию 22).. и укажите localhost и порт как прокси в ftp клиенте.
Автор: Posochov
Дата сообщения: 10.02.2009 22:53

Цитата:
создайте туннель, но не на 21 порт

А кто ж тогда стучаться на FTP-сервер будет?
Он же прослушивает именно 21 порт.
Автор: Cheery
Дата сообщения: 10.02.2009 23:01
Posochov

Цитата:
А кто ж тогда стучаться на FTP-сервер будет?
Он же прослушивает именно 21 порт.

когда вы делаете ssh туннель, то, по сути, открываете проксю для себя на той машине. и все запросы уже будут идти от нее и на другие машины и указанные порты в сети.
то есть запустите ftp клиента.. он через ssh туннель сделает запрос через ту машину внутрь сети. да хотя бы на саму себя. и через этот туннель в таком случае можно работать с любыми сервисами (исключения выше, когда должен быть обратный коннект инициирован сервером) если клиент этих сервисов поддерживает socks прокси
просто проблема в том, что сейчас все запросы идут на 21 порт и, ессно (вернее следуя логике), не срабатывает пассивное соединение. активное же не срабатывает по той причине, что ftp сервер не знает вашего реального адреса. с его точки зрения все запросы идут с локального IP, как с концевого адреса туннеля.
когда же вы укажите ssh туннель как socks проксю, то и пассивные соединения пройдут.
Автор: Posochov
Дата сообщения: 10.02.2009 23:38
Удалось подключиться к FTP-серверу через SSH-туннель из локальной сети.
В пассивном режиме все работает.

А вот точно по такому же туннелю, но созданном из интернета зайти на FTP-сервер так и не удалось.

И что больше всего бесит, так это то, что логи сервера совершенно одинаковые, в случае захода на FTP-сервер по туннелю из локалки и из интернета.
Только вот результат разный.

Это подключение через туннель из локалки:
Цитата:
(000016) 11.02.2009 11:37:55 - docs (192.168.0.7)> PASV
(000016) 11.02.2009 11:37:55 - docs (192.168.0.7)> 227 Entering Passive Mode (192,168,0,7,17,102)
(000016) 11.02.2009 11:37:55 - docs (192.168.0.7)> LIST
(000016) 11.02.2009 11:37:55 - docs (192.168.0.7)> 150 Connection accepted
(000016) 11.02.2009 11:37:55 - docs (192.168.0.7)> 226 Transfer OK
А это из интернета:
Цитата:
(000018) 11.02.2009 11:43:18 - docs (192.168.0.7)> PASV
(000018) 11.02.2009 11:43:18 - docs (192.168.0.7)> 227 Entering Passive Mode (192,168,0,7,17,122)
(000018) 11.02.2009 11:43:18 - docs (192.168.0.7)> LIST
(000018) 11.02.2009 11:43:29 - docs (192.168.0.7)> 425 Can't open data connection.

Мне казалось, что туннель он и в Африке туннель - анн нет.
Хотелось бы узнать - в чем же все таки разница между этими туннелями?
И откуда она возникает?

Уж больно не хочется заводить еще и проски-сервер.
Автор: Cheery
Дата сообщения: 11.02.2009 20:48
Posochov

Цитата:
А это из интернета:

при установлении туннеля в лоб на 21 порт и обращения как и раньше?
сделайте как описал постом выше.


Цитата:
Уж больно не хочется заводить еще и проски-сервер.

что значит "заводить"? ssh уже делает это сам.


Цитата:
Хотелось бы узнать - в чем же все таки разница между этими туннелями?

я писал уже столько раз. не вижу смысла повторять.
Автор: Posochov
Дата сообщения: 11.02.2009 21:40
Cheery
Цитата:
сделайте как описал постом выше.

Честно говоря что там имеется в виду не совсем ясно, а точнее совсем не ясно.

Цитата:
когда же вы укажите ssh туннель как socks проксю, то и пассивные соединения пройдут.

Туннель - это ведь проброска портов на конкретный адрес.
Ну и какой мне порт и на какой адрес пробрасывать?
И как это я могу клиенту указать ssh туннель как socks проксю?

Все довольно невнятно для меня.
Если можно - подскажите конкретные настройки и туннеля и клиента.


Автор: Cheery
Дата сообщения: 11.02.2009 21:48
Posochov

Цитата:
И как это я могу клиенту указать ssh туннель как socks проксю?

в настройках ftp клиента.. у flashfxp есть


Цитата:
Ну и какой мне порт и на какой адрес пробрасывать?

адрес - как и раньше.. порт - никакого.
Автор: Posochov
Дата сообщения: 11.02.2009 21:54

Цитата:
адрес - как и раньше.. порт - никакого.

Это что-то из области фантастики.
Туннель - это проброска порта на адрес!
А пробросить "ничего" на адрес нельзя!!!

Цитата:
в настройках ftp клиента.. у flashfxp есть

И как, например там может быть описан ssh-туннель?
Как адрес, как порт или как что?
Пример текстовой строки можно?
Автор: Cheery
Дата сообщения: 11.02.2009 22:08
Posochov

Цитата:
Это что-то из области фантастики.
Туннель - это проброска порта на адрес!
А пробросить "ничего" на адрес нельзя!!!

мне так надоедает вам чего то доказывать.. просто отбиваете всякое желание..
ssh user@IP_NUMBER -D 8080
так вам понятнее будет?
открывает "проксю" на локальном 8080, но все запросы через эту "проксю" пойдут по ssh на удаленную машину и далее преобразуются на запросы с той удаленной машины

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051

Предыдущая тема: VirtualDub


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.