************************************
Настройка FTP-сервера при работе через маршрутизатор.
1. Немного теории
2. Предмет настройки
3. Настраиваем маршрутизатор
4. Настраиваем FTP сервер

Немного теории.

При работе по протоколу FTP между клиентом и сервером устанавливается два соединения - управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы). Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит "Привет! Я хочу подключится к тебе. Вот мое имя и мой пароль". Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.

  • Активный режим. Когда клиент говорит "Привет!" он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента, используя со своей стороны номер TCP-порта 20 для передачи данных. Для клиента такое соединение является входящим. Так что зачастую работа в активном режиме клиентов, находящихся за файрволлом или NAT затруднена или требует дополнительных настроек.
  • Пассивный режим. В Пассивном режиме, после того как клиент сказал "Привет!", сервер сообщает клиенту свой IP адрес и номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключиться для установки соединения передачи данных. В дальнейшем будем называть их пассивными портами. При этом, как легко заметить, порты в таком соединении, как со стороны клиента, так и со стороны сервера оказываются произвольными. В пассивном режиме клиент легко может работать с сервером сквозь свой файрволл, но зачастую для поддержки пассивного режима сервером требуется соответствующая настройка файрволла уже на стороне сервера. 

Главное отличие между Активным режимом FTP и Пассивным режимом FTP - это сторона, которая открывает соединение для передачи данных. В Активном режиме клиент должен суметь принять это соединение от FTP-сервера. В Пассивном режиме клиент всегда инициирует это соединение сам, и принять его должен уже сервер.

Пассивный режим работы FTP предназначен для соединения клиентов, находящихся за Firewall. Кроме того, большинство браузеров используют именно этот режим доступа к данным на FTP. Следовательно, в домашних сетях именно этот режим работы должен быть основным режимом FTP-сервера, если Вы хотите, чтобы у пользователей не было проблем с доступом. Его настройкой мы и будем заниматься ниже.


Предмет настройки.

Если FTP-сервер подключен к интернету через маршрутизатор, для работы Активного режима достаточно открыть 21 порт и переадресовать его на FTP-сервер -больше практически ничего настраивать не требуется. С Пассивным режимом все обстоит значительно хуже. Вот список проблем, которые придется решить:

  1. FTP-сервер сообщает клиенту свой IP адрес. Но он стоит за маршрутиатором, а это значит, что сервер имеет локальный адрес внутренней сети и ничего не знает о внешнем адресе, который должен выдавать клиенту. Эта проблема решается с помощью настройки программы FTP-сервера - ей объясняется, какой IP надо выдавать внешним клиентам.
  2. FTP-сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключиться. Но все эти порты на вход закрывает маршрутизатор, и он ничего не знает о том, какой порт надо открыть для установки FTP-сессии ( вариант открытия всех портов не рассматривается, мы все-таки не самоубийцы ). Для решения этой проблемы мы сами выберем диапазон в 1-3 пассивных порта, откроем их на маршрутизаторе и настроим в программе FTP-сервера выдаваемые пассивные порты на наш выбранный диапазон.
  3. Порты, которые мы открываем на маршрутизаторе, надо перенаправить на конкретный локальный IP FTP-сервера. FTP-сервер, подключенный к маршрутизатору, может получать локальный IP по DHCP ( автоматически в момент подключения к маршрутизатору ) и он при очередном перезапуске системы может отличаться от настроенной переадресации портов на маршрутизаторе. Для этого в маршрутизаторе установим жесткое соответствие между FTP и его локальным IP.

Все настройки рассмотрим на примере маршрутизатора 3Com OfficeConnect Wireless 11g 108Mbps Cable/DSL Router и программы FTP-сервера Gene 6. Почему, собственно, выбраны именно эти претенденты? Очень просто - именно этот роутер у меня сейчас живет, и я могу сделать скрин-шоты. С программой чуть интереснее - именно в ней я нашел все необходимые параметры, которые надо настроить.


Настраиваем маршрутизатор.

Начнем с привязки FTP-сервера к определенному локальному IP-адресу.  Это можно сделать, прописав IP на самом сервере.  Второй путь - на маршрутизаторе определить соответствие MAC-адреса FTP-сервера и IP, который будет даваться маршрутизатором ( в этом случае на сервере устанавливаем получение IP - автоматически ).  Для этого в меню маршрутизатора выбираем LAN Settings -> Static DHCP Assignment и вводим MAC и локальный IP (допустим, он у нас будет 192.168.1.166)  FTP-сервера, как показано на рис. 1.  

Рис.1. Определение локального IP-адреса.

Теперь откроем нужные порты и переадресуем их на FTP-сервер.  Для этого войдем в меню Firewall -> Virtual Servers  (Рис. 2).   Прежде всего, открываем 21 порт для управляющего соединения и вписываем локальный адрес нашего FTP - 192.168.1.166.   Затем выбираем диапазон пассивных портов,  допустим 6021-6023,  и так же открываем и переадресуем их на локальный адрес нашего FTP - 192.168.1.166. 

Рис. 2. Перенаправление портов.

Для тех, кто хочет иметь доступ к консоли управления FTP Gene 6 из интернет,  надо открыть порт 8021.  Этот порт используется по умолчанию и может быть изменен на любой другой в программе Gene 6, установленной на сервере. Кроме того, для удаленного управления сервером вам понадобится правильный внешний IP от вашего провайдера. 

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


Настраиваем FTP сервер.

Осталось объяснить нашему FTP-серверу, какой IP и пассивные порты он должен выдавать своим клиентам. Для этого запускаем консоль управления и входим в свойства нашего сервера. В свойствах выбираем Настройки и в пункт "Перенаправить PASV IP" вписываем ваш IP-адрес, полученный от провайдера. В "Диапазон портов для пассивного режима" вносим выбранные нами и открытые на роутере пассивные порты 6021-6021.

Рис. 3. Настройка пассивного режима Gene 6.

Все,о наших клиентах мы позаботились. Но при таких настройках из локальной сети к FTP-серверу придется присоединяться через внешний IP-адрес, полученный от провайдера. Т.е. локальный клиент должен выйти через маршрутизатор с провайдерским IP в интернет и сразу же зайти обратно через тот же маршрутизатор, чтобы подключиться к локальному ресурсу. К сожалению, не все маршрутизаторы могут выполнить этот маневр, поэтому пора позаботится о себе. Для этого настроим Gene 6 так, чтобы локальным клиентам выдавался не IP провайдера, а локальный IP:

Рис. 4. Выдача локального IP в локальную сеть.


Если вы нашли какие-либо неточности или у вас есть вопросы или дополнения - пишите.

Михаил ( Msoft)

В каталоге 284 железки
Copyright © 2011
Счетчик