LINUX.ORG.RU
ФорумAdmin

Ubuntu 20.04 pure-ftp за Openvpn

 ,


0

2

Проблема такая Авторизация есть, запрос содержимого каталога и все

`Filezila Команда: MLSD

И все таймаут`

В дампе на сервере с ftp tcpdump -i tun3 -A -s0 -nn port 21 or portrange 35000-35999

`23:56:37.261361 IP 213.87.162.125.20563 > 10.1.0.2.35609: Flags [S], seq 2535941766, win 65535, options [mss 1106,nop,wscale 7,nop,nop,sackOK], length 0 E..4i.@.r….W.} …PS…’f…………….R……..

23:56:39.261220 IP 213.87.162.125.20563 > 10.1.0.2.35609: Flags [S], seq 2535941766, win 65535, options [mss 1106,nop,wscale 7,nop,nop,sackOK], length 0 E..4i.@.r….W.} …PS…’f…………….R……..

23:56:43.301753 IP 213.87.162.125.20563 > 10.1.0.2.35609: Flags [S], seq 2535941766, win 65535, options [mss 1106,nop,wscale 7,nop,nop,sackOK], length 0 E..4i.@.r….W.} …PS…’f…………….R……..`

Запросы вижу ответов нет в логах

`Jan 13 22:09:38 eth0 pure-ftpd: (?@10.1.0.1) [DEBUG] Command [user] [defaulttest]

Jan 13 22:09:39 eth0 pure-ftpd: (?@10.1.0.1) [DEBUG] Command [pass] [<*>]

Jan 13 22:09:39 eth0 pure-ftpd: (?@10.1.0.1) [INFO] defaulttest is now logged in

Jan 13 22:09:39 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [opts] [UTF8 ON]

Jan 13 22:09:39 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [pbsz] [0]

Jan 13 22:09:39 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [prot] [P]

Jan 13 22:09:40 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [pwd] []

Jan 13 22:09:40 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [type] [I]

Jan 13 22:09:40 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [pasv] []

Jan 13 22:09:40 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [mlsd] []`

firewall отключен везде

ext_ip->10.1.0.1->10.1.0.2(ftp)


В смысле за опенвпн? Кто клиент а кто сервер? Режим пассив попробуйте. И полный лог скиньте от фтп сессии.

Bers666 ★★★★★
()
Ответ на: комментарий от Bers666

Схема такая

ext_ip->10.1.0.1(OpenvpnServ)->10.1.0.2(OpenvpnClient ftpServ)

Это лог


Jan 13 22:08:12 eth0 pure-ftpd-mysql[250687]: Starting ftp server:

Jan 13 22:08:12 eth0 pure-ftpd-mysql[250697]: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -O clf:/var/log/pure-ftpd/transfer.log -A -D -E -d -S 10.1.0.2,21 -J HIGH -u 1000 -H -P FQDN.domain.com -Y 2 -p 35000:35999 -b -B

Jan 13 22:08:12 eth0 systemd[1]: Started pure-ftpd-mysql.service.

Jan 13 22:08:12 eth0 pure-ftpd: (?@?) [DEBUG] Couldn't load the DH parameters file /etc/ssl/private/pure-ftpd-dhparams.pem

Jan 13 22:08:29 eth0 pure-ftpd: (defaulttest@10.1.0.1) [INFO] Timeout

Jan 13 22:08:51 eth0 pure-ftpd: (defaulttest@10.1.0.1) [INFO] Timeout

Jan 13 22:09:15 eth0 pure-ftpd: (?@10.1.0.1) [INFO] New connection from 10.1.0.1

Jan 13 22:09:15 eth0 pure-ftpd: (?@10.1.0.1) [DEBUG] Command [auth] [TLS]

Jan 13 22:09:15 eth0 pure-ftpd: (?@10.1.0.1) [INFO] SNI: [FQDN.domain.com]

Jan 13 22:09:15 eth0 pure-ftpd: (?@10.1.0.1) [INFO] SNI: [FQDN.domain.com]

Jan 13 22:09:16 eth0 pure-ftpd: (?@10.1.0.1) [INFO] TLS: Enabled TLSv1.3 with TLS_AES_256_GCM_SHA384, 256 secret bits cipher

Jan 13 22:09:16 eth0 pure-ftpd: (?@10.1.0.1) [DEBUG] Command [user] [defaulttest]

Jan 13 22:09:16 eth0 pure-ftpd: (?@10.1.0.1) [DEBUG] Command [pass] [<*>]

Jan 13 22:09:16 eth0 pure-ftpd: (?@10.1.0.1) [INFO] defaulttest is now logged in

Jan 13 22:09:16 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [opts] [UTF8 ON]

Jan 13 22:09:16 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [pbsz] [0]

Jan 13 22:09:16 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [prot] [P]

Jan 13 22:09:16 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [pwd] []

Jan 13 22:09:17 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [type] [I]

Jan 13 22:09:17 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [pasv] []

Jan 13 22:09:17 eth0 pure-ftpd: (defaulttest@10.1.0.1) [DEBUG] Command [mlsd] []```
Slawka
() автор топика

Нигде не фигурирует непосредственно приватный адрес самого клиента ftp-сервера.

Какая-то интересная конфигурация.

NDfan
()
Ответ на: комментарий от Slawka

С фтп-сервером вроде понятно.

Собственно, вопрос: а как коннект с рабочей станции до него должен долетать (и - ответу возвращаться)? Я, лично, не понимаю. Может, какая-то интересная конфигурация (но есть сомнения).

Т.е. по идее, а) либо вопрошающий должен клиентом OpenVPN сперва подключится в приватную сетку, получить ip типа 10.1.0.3 и дальше понятно.

б) либо какой-то причудливый проброс порта внутрь что-ли должен быть; в общем, я лично не очень понял идеи.

В общем, посмотрите в таком вот развороте.

NDfan
()
Последнее исправление: NDfan (всего исправлений: 1)
Ответ на: комментарий от NDfan

Запрос приходит на внешний ip далее iptables

-A PREROUTING -d 4.6.2.9/32 -p tcp -m multiport --dports 35000:35999 -j DNAT --to-destination 10.1.0.2
-A PREROUTING -d 4.6.2.9/32 -p tcp -m multiport --dports 20,21,222,4500:4600 -j DNAT --to-destination 10.1.0.2

Log c FileZilla Client

Статус:	Небезопасный сервер, не поддерживает FTP через TLS.
Статус:	Авторизовались
Статус:	Получение списка каталогов...
Команда:	PWD
Ответ:	257 "/" is your current location
Команда:	TYPE I
Ответ:	200 TYPE is now 8-bit binary
Команда:	PASV
Ответ:	227 Entering Passive Mode (4,6,2,9,139,134)
Команда:	MLSD
Ошибка:	Соединение прервано после 20 секунд неактивности
Ошибка:	Не удалось получить список каталогов
Slawka
() автор топика
Ответ на: комментарий от Slawka

Ясно, т.е. как я во втором варианте предполагал. Если сопоставить сетевой дамп с логом FTP-сервера, то есть впечатление, что последний тоже что-то пробует, но получается timeout-ы от сервера VPN (по внутреннему имени).

Собственно, что-то такое может быть ориентиром:

https://enterprisedt.com/products/edtftpjssl/doc/manual/html/howtoftpthrougha...

Наверно passive-mode будет попроще.

Ну и можно ещё tcpdump слушать в динамике на всех трёх звеньях (советую c -i any для начала).

NDfan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.