Proftpd - настройка FTP-сервера с хранением списка пользователей в БД MySQL и поддержкой TLS шифрования

Proftpd логотип

 

Лидерами среди FTP-серверов на сегодняшний день являются pure-ftpd и proftpd. В последнее время использую proftpd с хранением списка пользователей в MySQL (как-то неохота заводить системных пользователей, если нужен всего лишь доступ по FTP).

Итак, приступаем к установке. Переходим в каталог портов и запускаем установку.

# cd /usr/ports/ftp/proftpd-mysql/
# make install clean

Мой набор опций следующий:

Логотип FreeBSD

На самом деле на логотипе FreeBSD изображен не черт, а то, что англичане называют словом “daemon“. Это слово в английском языке несет несколько иную смысловую нагрузку, значительно отличающуюся от того, что мы понимаем под термином “демон”, который в русском языке обозначает злого духа. Здесь, как раз, смысл абсолютно противоположный, обозначающий просто духа, доброго гения; источник вдохновения, а в разговорном английском – энергичного, напористого человека.

NAT - реализация с помощью IPNat

На самом деле в настройке трансляции адресов нету ничего сложного. Лично я рекомендую использовать IPNat, или же nat в ipfw, вкомпилированный в ядро. Они довольно гибкие в настройке, производительны и относительно не "нагружают" систему. В даной статье рассмотрим организацию трансляции адресов с помощью IPNat.

Если верить /etc/defaults/rc.conf, то конфигурационным файлом IPNat выступает /etc/ipnat.rules. Однако, по умолчанию, этот файл отсутствует в системе. Соответственно его нужно создать:

# touch /etc/ipnat.rules

Slurm - просмотр нагрузки на сетевых интерфейсах в режиме реального времени

Продолжая тему тестирования и измерения скорости сети, нельзя пропустить консольную утилиту slurm.  Slurm позволяет в режиме реального времени мониторить нагрузку на сетевых интерфейсах.

С установкой проблем не должно возникнуть. Устанавливать будем из портов.

# cd /usr/ports/net/slurm/
# make install clean
# rehash

Что ж, посмотрим что умеет эта утилита... Запускаем с ключем "-i net_device", где net_device - имя сетевого интерфейса, который булем мониторить. В моем случае это em0.

Iperf - измеряем пропускную способность опорной сети

 

Продолжим рассматривать тему измерения пропускной способности сети. Speedtest - это, конечно, хорошо, как-никак удобный интерфейс, визуально все понятно и доступно. Но мало функционала, к тому же дает погрешности. Поэтому для более детального тестирования использую утилиту iperf - мощный генератор UDP и TCP трафика. Функционал данной утилиты довольно богат. Но о возможностях - немного позже.

Итак, приступаем к установке. Iperf находится в /usr/ports/benchmarks/iperf/.

# cd /usr/ports/benchmarks/iperf/
# make install clean

Поддержку IPv6 отключаю, а вот поддержка тредов пригодится.

Speedtest у себя на сервере

Думаю каждый пользователь Интернета хоть раз в жизни измерял скорость своего канала Internet. Способов измерения есть довольно много...

Например, вот здесь находится один из тестов скорости соединения, позволяющий измерить скорость download/upload от Вас до множества точек по всему миру. Да, согласен, погрешность иногда он дает неплохую (именно из-за этого пользуюсь другими методами)... Спишем это на известность сервиса, и на загруженость маршрутизаторов.

Но мало кто знает, что похожий сервис можно разместить у себя на сервере. Условия - работающий веб-сервер с поддержкой PHP. Что ж... Нужно проверить как это работает.

Создадим рабочий каталог и выставим необходимые права:

Gallery2 - ваши фото в Internet

Gallery 2Возникла необходимость опубликовать фото в Интернете. Из доступных вариантов бесплатных фотогалерей выбор остановился на Gallery 2. Описание продукта можно посмотреть здесь. Посмотреть демо-версию можно здесь.

Итак, если заинтересовало - приступим к установке и настройке.

Первым делом необходимо скачать дистрибутив. В вверхнем правом углу главной страницы рускоязычного ресурса gallery2 виднеется ссылка "Скачать Gallery2". Галерею будем устанавливать многоязычную, версия Full, а поскольку ОС - FreeBSD, то соответственно в архиве tar.gz.

Проброс портов на маршрутизаторе под управлением FreeBSD

 

 Вот опять потребовалось сегодня по просьбе знакомого заняться пробросом портов на маршрутизаторе, чтобы пользователь из сети Internet мог попадать на свою машину внутри локальной сети...

 

IPNAT

IPNAT загружается с такими параметрами:

# cat /etc/rc.conf | grep ipnat
ipnat_enable="YES"
ipnat_program="/sbin/ipnat -CF -f"
ipnat_rules="/etc/ipnat.rules"

Удаленный рабочий стол Windows работает на порту 3389. Именно его мы и будем пробрасывать.

Route - демон маршрутизации

Если сервер планируется использовать как маршрутизатор, то устанавливаем из портов quagga, и вопрос по маршрутизации можно снимать. Но что делать, если необходимо смаршрутизировать всего одну или две сети? Или вообще, маршрут необходим только на короткий промежуток времени?

В этом случае нам поможет демон маршрутизаци route.

Для того, чтобы добавить маршрут к сети 172.16.0.0/24 через маршрутизатор 192.168.0.2:

# route add -net 172.16.0.0/24 192.168.0.2
add net 172.16.0.0: gateway 192.168.0.2

Для удаления маршрута используем команду delete:

Скрипт отправки e-mail (perl)

 

Вот понадобилось отправлять уведомление на мыло. Хотел сначала написать на shell, но потом обнаружил интересный модуль perl - p5-Net-SMTP-Server.

В портах его можно найти здесь: /usr/ports/mail/p5-Net-SMTP-Server.

 

Листинг скрипта

RSS-материал

Вставай, Україно!

Литература