LINUX.ORG.RU
ФорумAdmin

OpenBSD, pf, ftp-proxy


0

0

В сети есть ftp-сервер (в пассивном режиме), который должен быть доступен снаружи. На шлюзе OpenBSD.

http://www.openbsd.org/faq/pf/ftp.html читал. Сделал следующее:

/etc/rc.conf.local

ftpproxy_flags="-R 192.168.2.3 -p 21 -b 123.123.123.123 -v -D7

/etc/pf.conf

nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"

pass in log quick on $ext_if inet proto tcp from any to $ext_ip port 21 synproxy state
pass out log quick on $int_if inet proto tcp from any to $ftp port 21 keep state
anchor "ftp-proxy/*"

Пытаюсь соединиться снаружи через FileZilla:

Статус:	Соединяюсь с 123.123.123.123:21...
Статус:	Соединение установлено, ожидание приглашения...
Ответ:	220- Hi all! If you can read this message, that means this ftp-server is works.
Команда:	USER user
Ответ:	331 Password required for user.
Команда:	PASS **********
Ответ:	230 User user logged in, access restrictions apply.
Статус:	Соединение установлено
Статус:	Получение списка каталогов...
Команда:	PWD
Ответ:	257 "/" is current directory.
Команда:	TYPE I
Ответ:	200 Type set to I.
Команда:	PASV
Ответ:	227 Entering Passive Mode (192,168,2,3,224,74)
Статус:	Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.
Команда:	LIST
Ошибка:	Превышено время ожидания соединения
Ошибка:	Не могу получить список каталогов!

Собственно, кто виноват, что делать, куда копать?

У меня FreeBSD! но думаю тоже подойдет

в /etc/rc.conf.local (только свой ip:))

ftpproxy_flags="-R 192.168.0.250"

в pf.conf

#
nat-anchor «ftp-proxy/*»
rdr-anchor «ftp-proxy/*»
rdr pass on $ext_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021

pass in on $ext_if inet proto tcp from any to any port ftp keep state

# якорь в области фильтрации для ftp-poxy(8)
#
anchor «ftp-proxy/*»

osipen
()

Сделал
[code]
ftpproxy_flags="-R 192.168.2.3 -v -D7
[/code]
и все заработало.

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