MyTetra Share
Делитесь знаниями!
Как мы настраивали FTP сервер за MikroTik
Время создания: 12.12.2016 22:12
Текстовые метки: ftp, mikrtik , настройка
Раздел: Администрирование - FTP
Запись: SalexIzyh/MyTetra/master/base/1481555553h7jmy9y88y/text.html на raw.githubusercontent.com

Как мы настраивали FTP сервер за MikroTik Недавно для корпоративных нужд нам потребовалось поднять FTP-сервер, причем чтобы доступ к нему был как из интернета, так и из локальной сети. Мы воспользовались своими же рекомендациями из статей нашего блога и еще раз протестировали способы настройки MikroTik для этих целей. Схема нашей сети: Роутер MikroTik RB951G-2HnD с внешним статическим IP, скажем, 1.1.1.28 и локальной сеткой за ним. Компьютер, на котором подняли FileZilla Server, с локальным адресом 192.168.88.10. В настройках FileZilla: управляющий порт FTP-сервера - 21, пассивный режим FTP (мы решили использовать его как более простой в настройке и безопасный) с диапазоном портов для передачи данных - 50000-50050.  Настройка сервера FileZilla Server На установке программы FileZilla Server подробно останавливаться не будем - в сети довольно много пошаговых инструкций. Установка никаких проблем не вызвала. 1. Заходим в раздел настроек (Setting). В общих настройках (General Settings) нужно прописать основной (управляющий) порт FTP, мы оставили тот, что по умолчанию - 21. Увеличили таймаут соединения до 600 сек, остальные настройки не меняли. 2. На вкладке Passive Mode Settings (настройки пассивного режима FTP-сервера) указали диапазон портов для передачи данных. Он может быть произвольным, с учетом, конечно, тех портов, что вы уже используете в работе. В документации FileZilla Server не рекомендовалось использовать порты ниже 1024. Остальные настройки оставили по умолчанию. 3. Переходим в меню Users. В разделе общих настроек (General) указали логин и пароль для будущих подключений. 4. В разделе Shared folders указали пути к папкам, которые будут расшариваться на FTP. Проставили галки разрешений для папок и файлов - можно ли удалять, добавлять, читать, изменять и т. д. Сразу отметим, что разрешения действий с папками и файлами могут оказаться важными. К примеру, нам понадобилось сохранять данные на FTP-сервер из программы колл-трекинга ACR. Однако программа постоянно сбрасывала соединение, как оказалось впоследствии - по причине отсутствия разрешения на создание папки в каталоге сервера. 5. Добавили FileZilla Server в исключения брандмауера на компьютере, на котором он установлен. 6. Антивирус также может блокировать запросы на FTP-сервер, но у нас с этим все было в порядке. Включили FTP в IP - Service На роутере MikroTik заходим в IP - Service и включаем FTP. Вообще, по идее, должно было работать и с отключенным FTP, даже более того - в некоторых случаях, по отзывам, этот параметр препятствует корректной работе сервера за MikroTik. Но у нас не работало, поэтому мы включили. Настройка проброса портов для FTP сервера Настройка проброса портов детально описана в этой статье, здесь мы на теоретической части подробно останавливаться не будем. Напомним, что FTP-сервер для работы требует двух типов портов: управляющего, по которому передаются служебные данные, и отдельного диапазона портов для передачи файлов. Поэтому мы создали два правила NAT: для управляющего 21-го порта; для диапазона портов 50000-50050. Мы изначально настроили и включили оба правила, но экспериментальным путем выяснили, что все работает и передается и с одним правилом для 21 порта. По крайней мере, в нашей конфигурации.  1-е правило - для управляющего порта На первой вкладке General - прописываем признаки пакетов, которые должны обрабатываться правилом проброса порта. Chain = dstnat (т. е. для пакетов, направленных во внутреннюю сеть). Dst. Address = 1.1.1.28 (адрес назначения, который прописан в пакете, у нас пакеты будут адресованы на внешний адрес роутера, поэтому пишем здесь его). Protocol = 6 (tcp). Dst. Port = 21. In. Interface = ether1. На вкладке Action - действие, которые выполняется, если пакет им соответствует. В данном случае мы прописываем замену адреса назначения в пакете (dst-nat) и указываем, на какой адрес и порт его заменить  - на внутренний адрес компьютера с FTP-сервером (192.168.88.10), порт 21.  2-е правило - проброс диапазона портов для данных Полностью аналогично прописываем правило переброса портов для диапазона портов данных:  Поднимаем эти правила выше дефолтного правила маскарадинга. Так как роутер обрабатывает пакеты, обращаясь к правилам по порядку их расположения на вкладке NAT роутера, нам нужно поднять наши правила выше тех, под которые могут попасть наши пакеты, в том числе выше правила маскарадинга, заданного по умолчанию. Просто перетаскиваем их мышью вверх. Проверили: доступ к FTP серверу работает и с удаленного компьютера, расположенного в сети другого провайдера, и со смартфонов, использующих 3G. Теперь нам нужно настроить, чтобы к FTP можно было подключиться и из нашей локальной сети, используя те же данные для подключения, то есть, внешний IP-адрес роутера.  Настройка Hairpin NAT MikroTik По умолчанию зайти из локальной сети по внешнему адресу на роутер нельзя - вот в этой статье подробно объясняется, почему. Поэтому нам нужно настроить отдельные правила NAT, которые бы создавали исключения из общих правил и правильно обрабатывали такие пакеты. Мы протестировали 3 способа настройки, все они отлично работали в нашей конфигурации.  1-й способ В общей сложности он содержит 3 правила, работающих в связке. 1.1 - уже созданное нами правило проброса портов, описанное выше. Мы его не изменяем. 1.2. -  Правило, которое можно обозначить, как: "Во всех пакетах, у которых адресом источника стоит этот диапазон IP-адресов, а адресом назначения - внешний IP-адрес роутера, поменять адрес назначения на адрес компьютера с FTP-сервером". chain = dstnat; Src. Address = 192.168.88.0/24 - пул локальных IP-адресов, с которых могут поступать обращения на FTP-сервер; Dst. Address = 1.1.1.28; Protocol = 6 (tcp); Action = dst-nat; To Addresses = 192.168.88.10. 1.3. Далее нам нужно позаботиться об ответных пакетах, отправленных FTP-сервером с адреса 192.168.88.10. Ведь он будет адресовать их на то устройство локальной сети, чей адрес был вписан в пакете данных как адрес источника. А так как устройство отправляло пакет на 1.1.1.28, то и ответ оно ждет оттуда, а не с локального 192.168.88.10, соответственно, этот ответный пакет оно отбросит.  Поэтому мы "ловим" этот пакет и обрабатываем следующим правилом: "Для всех пакетов, у которых адресом источника стоит этот локальный диапазон адресов, а адресом назначения - локальный адрес компьютера с сервером, применяем маскарадинг". Маскарадинг - это замена локального IP-адреса устройства, отправившего пакет, на IP-адрес сервера. После применения этого правила в адресе источника в пакете будет вписан 1.1.1.28, а не 192.168.88.10.  2-й способ Здесь только 2 правила. 2.1 - созданное нами первое правило проброса портов, но немного измененное. Из правила убираем In. Interface ether1: так как в этом случае пакеты будут "стучаться" не только через внешний интерфейс, но и через внутренние. Соответственно, нам не понадобится правило 1.2 из 1-го способа, поскольку измененному правилу проброса портов и без него будут соответствовать пакеты и из внешней, и из локальной сети. Правило проброса диапазона портов мы не меняли, но как мы уже написали выше - у нас доступ к FTP-серверу прекрасно функционировал и тогда, когда мы отключили это правило вообще. 2.2. А вот правило srcnat (1.3 из 1-го способа) нам понадобится, так как по-прежнему нужно заменить адрес источника:  3-й способ Предложен в комментарии к статье про настройку доступа из локальной сети пользователем Stealth. Также состоит из двух правил: измененного проброса портов и srcnat. В первоначальном правиле проброса портов мы не указываем в качестве критерия обработки пакетов адрес назначения, а указываем на вкладке Extra его тип: local - принадлежащий одному из интерфейсов маршрутизатора. То есть под правило проброса портов будут попадать все пакеты, отправленные на адрес любого интерфейса маршрутизатора и на порт 21. На вкладке Action в поле To Ports можно указать 21 порт. У нас работало и с указанием порта, и без него. Второе правило - srcnat - точно такое же, как в остальных примерах. Во всех случаях правила настройки NAT мы также поднимали выше общего правила маскарадинга. Итоги Повторим, что мы проверили все эти способы настройки на своей конфигурации и они рабочие. Файлы закачиваются и скачиваются: с компьютеров за NAT (из внешней сети), с локальных компьютеров внутри сети, с мобильных устройств, подключенных к FTP-серверу по Wi-Fi к роутерам в локальной сети, с мобильных устройств, подключенных к FTP-серверу по 3G.

Источник: http://lantorg.com/article/kak-my-nastraivali-ftp-server-za-mikrotik © LanTorg.com

Прикрепленные файлы:
Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования