четверг, 30 мая 2019 г.

Простой сервер FTP для локальной сети

Установка простого сервера ftp производилась с целью выбора механизма обмена файлами между двумя компьютерами. Во избежание гневных комментариев хотелось бы обратить внимание на то, что публикация рассматривает вопрос настройки сервера ftp только для частного случая, соответствующего предъявляемым ниже требованиям.

Требования к обмену по протоколу ftp или начальные условия:

– обмен файлами/папками производится между компьютерами с установленной системой Linux Mint 19.1;

– компьютеры являются доверенными узлами, так как расположены в домашней локальной сети. То есть, "враги" отсутствуют, доступа к серверу извне не имеется;

– для доступа к серверу ftp должна быть использована уже имеющаяся учётная запись пользователя системы, на которой установлен сервер ftp;

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

Предпринимаемые ранее попытки установки сервера ftp (пакет vsftp имеется в менеджере пакетов Synaptic), работа которого удовлетворяла бы изложенным требованиям, в конечном итоге завершались неудачей по причине некорректной его настройки, определяемой файлом конфигурации.

После экспериментов были найдены настройки сервера vsftpd, соответствующие заявленным начальным условиям, которые приведены ниже. С большинством настроек сервера vsftp можно ознакомиться здесь.

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
# Анонимный доступ к серверу не используется.
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=NO
use_localtime=YES
xferlog_enable=NO
connect_from_port_20=YES
# Изменение владельца закачанных анонимно файлов не производится по причине отсутствия анонимного доступа к серверу.
#chown_uploads=YES
#chown_username=whoever
# Протоколирование работы сервера ftp не производится за отсутствием востребованности
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
idle_session_timeout=900
# Двухминутный режим тайм-аута не востребован.
#data_connection_timeout=120
# Пользователь ftpsecure отсутствует
#nopriv_user=ftpsecure
# команда "async ABOR" не используется
#async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
# Приветственные сообщения сервера не нужны.
#ftpd_banner=Welcome to blah FTP service.
# Cписок анонимных паролей e-mail ответов, которые не логинятся, нее нужен.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# Cписок локальных пользователей, которые находятся в клетке chroot() в своих домашних директориях, не используется.
# chroot_list_enable below.
#chroot_local_user=YES
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
# Сертификаты не используются.
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES

При использовании приведенного выше файла vsftpd.conf, который расположен в каталоге /etc, поставленная цель была достигнута.

Так как в системе используется графическое окружение xfce, то для доступа через менеджер файлов Thunar был создан значок запуска (кнопка запуска), в котором в качестве команды введена необходимая команда. Пример:

thunar "ftp://minter@H-4.vot/home/minter"

minter – это имя существующего пользователя на компьютере с именем H-4.

H-4.vot  – полное доменное имя компьютера в домашней локальной сети.

Сервер dhcp роутера передаёт клиентам имя домена vot, а разрешение имён узлов в адреса IP производится сервером dns. Роутером домашней сети выступает MikroTik.

Указание клиентам имени домена:


Скрипт, обеспечивающий автоматическую запись на сервере dns имени узла и соответствующего ему адреса IP, а также удаление этой записи после истечения срока аренды



изложен в этой публикации.

При обращении к серверу ftp некоторые каталоги помечены значком крестика:



Несмотря на это, с доступом в данные каталоги проблем не имеется. Например, для Dropbox:


При обращении к серверу ftp через менеджер файлов каталог, который сервер ftp предоставляет в доступ, монтируется. После завершения необходимых действий его рекомендуется отмонтировать:  


суббота, 4 мая 2019 г.

Обновление прошивки MikroTik 931-2nD при отсутствии свободного места и невозможности использовать Netinstall

Данная публикация является продолжением материала "Про попытки обновления прошивки MikroTik RB931-2nD".

Итак, версия прошивки MikroTik 931-2nD – 6.44


На указанном рисунке ряд компонентов не активен, то есть отключён, что связано с их невостребованностью в используемой сети.

При проверке обновлений отображается самая последняя на момент проверки версия 6.44.3, до которой можно было бы устройство обновить, но ... не хватает доступного дискового пространства:



Предметом дальнейшего рассмотрения является выход из ситуации, когда необходимо "впихнуть невпихуемое" при отсутствии возможности перепрошивки через Netinstall, который работает только в Windows, а Windows под рукой отсутствует.

После некоторых размышлений было принято решение сделать понижение версии прошивки (так называемый Downgrade) с последующим обновлением до необходимой.

Архив версий прошивок расположен по адресу https://mikrotik.com/download/archive

Из этого архива необходимо найти версию прошивки, которая бы "уместилась" в доступное для записи дисковое пространства внутреннего накопителя MikroTik 931-2nD, объём которого составляет всего лишь 16 Мегабайт.

Такой версией прошивки оказалась 6.40.8  Так как при экспериментах по поиску версий было обнаружено, что выбранная для загрузки ещё более ранняя версия routeros-smips-6.40.7.npk


было решено сохранить routeros-smips-6.40.8.npk на свой ресурс. Не исключено, что со временем при вызове routeros-smips-6.40.8.npk в будущем отобразится точно такое же 404 Not Found.  Скачать routeros-smips-6.40.8.npk

Теперь нужно загрузить routeros-smips-6.40.8.npk на MikroTik, после чего вызвать процедуру Downgrade. Загрузить файл можно через Winbox, который в Linux работает через Wine. Для загрузки нажать на кнопку Upload и выбрать нужный файл.


Далее перейти в System – Packages и нажать на кнопку "Downgrade".


Чтобы изменения вступили в силу необходима перезагрузка маршрутизатора.


 Важно.  На всякий случай рекомендуется сделать резервную копию своих настроек, для чего нажать на кнопку New Тerminal


и в появившемся окне вписать export file=

После знака = указать имя, под которым будет сохранена текущая конфигурация маршрутизатора, например config. После экспорта текущих настроек в Files будет создан файл config.rsc, который можно скачать на компьютер через правую кнопку мыши.


MikroTik 931-2nD будет загружен с версией прошивки 6.40.8

Но через wifi он может быть недоступен.  Если это так, то нужно соединиться с маршрутизатором через патчкорд и загрузить его с дефолтной конфигурацией (в интерфейсе Winbox выбрать System – Reset Configuration).


Если всё хорошо, то wifi появится:


Если такой наблюдается такой вариант:


то повторите сброс в настройки по умолчанию (Reset Configuration).

Если всё плохо, то выключите MikroTik, зажмите две клавиши внизу устройства (снимок не очень хороший, но готовых фото мной в сети найдено не было),


подайте на него питание. Через секунд 10 обе клавиши можно отпустить. Устройство будет загружено с настройками, при которых все интерфейсы будут находиться в одном bridge, а адрес MikroTik получит от "вышестоящего" сервера dhcp. После этого снова соединитесь с MikroTik, предварительно выяснив какой он адрес получил, и повторите Reset Configuration.

При функционировании MikroTik 931-2nD с версией прошивки 6.40.8 уже будет достаточно места (Free HDD Space) для загрузки файла с новой прошивкой.


На рисунке видно, что доступного для записи места 7,6 Мб.

Загрузите файл с новой прошивкой на MikroTik и перезагрузите устройство. После перезагрузки маршрутизатор будет функционировать с новой прошивкой, например:


При этом в моём случае Free HDD Space составил 7,2 Мб, что позволяет в дальнейшем снова понизить его до 6.40.8, а затем обновить прошивку до более новой версии.


Вызовите System – Routerboard и проверьте поля Current Firmware и Upgrade Firmware. В идеале их значения должны быть одинаковыми (рисунок приводится для 951-2n, но для 931-2nD будет точно так же).


Если значение Current Firmware меньше, то нажмите Upgrade и перезагрузите устройство. После перезагрузки эти значения будут равными.

Если настройки MikroTik с обновлённой прошивкой не отвечают состоянию настроек для Вашей сети, то через New Terminal импортируйте файл с сохранёнными настройками командой import file=  После знака  = укажите имя файла с настройками, который предварительно необходимо загрузить в Files.

Если файл импортироваться не "желает", то его можно открыть в простом текстовом редакторе и в окне терминала добавлять необходимые настройки.

В сети имеется немало восторженных отзывов о работе MikroTik 931-2nD. Но, по моему мнению, стабильная работа возможна лишь с небольшим количеством подключённых к нему потребителей и, скорее всего, небольшим числом правил Firewall. При достижении Free Memory (см. рис. выше) значений, приближающихся к 0, маршрутизатор, скорее всего, перейдёт в состояние "завис" и возврат его в нормальное функционирование будет возможен только через его жёсткую перезагрузку (отключение питания).

Но в интересах обеспечения связи с Интернет 1-4 узлов без других изысков в виде VPN, приоритетов трафика и т.п. MikroTik 931-2nD вполне может бесперебойно функционировать. Хотя это предположение не претендует на истину в последней инстанции. Детальные тесты на способность MikroTik 931-2nD выполнять широкий спектр задач автором данной публикации не проводились.

Для использования всех возможностей RouterOS лучше всего воспользоваться устройством MikroTik, которое имеет больше как оперативной памяти (64 Мб и выше), так и объём внутреннего накопителя (32 Мб и выше).