Уважаемые Гуру, подскажите пожалуйста иначе мне бессонница гарантирована :-)
Есть сеть предприятия с адресом - 192.168.16.0/24.
В этой сети есть шлюз (192.168.16.1), через который осуществляется выход в Интернет. На шлюзе работает FreeBSD 9.2, работает (ipfw) и поднят natd.
В сети есть ещё один сервер с FreeBSD (192.168.16.2) здесь поднят vsftpd.
Хочу дать доступ к ftp серверу внешним пользователям. Причем так, чтобы сервер работал в пассивном режиме.
Для этого я сделал следующее:
Пробросил порт в natd(на шлюзе) с помощью: redirect_port tcp 192.168.16.2:21 21
В настройках vsftpd указал:
pasv_address=XX.XX.XX.XX #(мой внешний адрес)
pasv_min_port=65201
pasv_max_port=65535
Клиента настроил подключаться только в режиме пассивного сервера. Запустил. Как и следовало ожидать к серверу я подключился, но списка каталогов я не получаю так как порты 65201-65535 я не пробрасывал с помощью redirect_port.
Далее начинаются непонятки. Если в настройках vsftpd закомментировать параметр pasv_address, то ftp поднимается в полном объеме.
При этом на сервере после команды:
"PASV"
формируется ответ:
"227 Entering Passive Mode (192,168,16,2,255,252)" (что логично)
Но ко мне на клиент приходит уже:
"227 Entering Passive Mode (XX,XX,XX,XX,255,252)" (кто-то подменил неправильный ответ на правильный).
Отсюда вопрос:
1. Кто способен подменить адрес внутри ftp-протокола: natd или zyxel P330W EE (который стоит у меня дома)?
2. И самое главное! Каким образом natd пробрасывает порт 65532 на 192.168.16.2, если я не редиректю эти порты!
В первую очередь меня беспокоит 2-ой вопрос.
FreeBSD 9.2 + natd + vsftpd (пассивный режим)
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- ст. прапорщик
- Сообщения: 538
- Зарегистрирован: 2008-03-13 12:02:59
Re: FreeBSD 9.2 + natd + vsftpd (пассивный режим)
Вы пробросили только 21 порт, порт команд. Далее вы говорите команду PASV. Сообщение от сервера с ответом на эту команду "227 Entering Passive Mode (192,168,16,2,255,252)" передается также по порту команд. Все, что передается наружу проходит нат, поэтому адрес в этом сообщении меняется.
Соединение по порту данных так и не устанавливается о чем говорит невозможность выполнить команду листинга каталога.
Как-то так.
Соединение по порту данных так и не устанавливается о чем говорит невозможность выполнить команду листинга каталога.
Как-то так.
- skipper
- рядовой
- Сообщения: 23
- Зарегистрирован: 2009-12-07 18:59:11
- Контактная информация:
Re: FreeBSD 9.2 + natd + vsftpd (пассивный режим)
Настройте ftp-proxy на вашем шлюзе и будет вам счастье
По поводу "почему так, а не иначе", читайте подробнее про проброс ftp.

Код: Выделить всё
/usr/sbin/ftp-proxy -b 192.168.16.1 -p 21 -R 192.168.16.2 -P 21