Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    PureFTPD на pfSense 2.0 с хранилищем на втором HDD

    Russian
    2
    2
    2.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      twisted_tits
      last edited by

      Привет всем. Это мой первый пост. Написал статейку, на новизну и гениальность не претендую, но для новичка самое оно + для себя, чтобы не забыть. Описано все от установки, до подключения, включая форматирование винта. К каждому действию комментарий.


      Установка FTP на pfSense 2.0 с хранилищем на втором HDD

      1. ставим pfSense 2.0, настраиваем первичные интерфейсы (чтобы работал хотя бы интернет)
      2. выходим в shell, добавляем второй винт (ad6 мой винт, ваш можно найти через ls -l /dev/ad*):
      dd if=/dev/zero of=/dev/ad6 bs=1k count=1 (затираем заголовок)
      bsdlabel -Bw ad6 auto (получаем геометрию)
      bsdlabel -e ad6 (смотрим все ли сходится)
      newfs /dev/ad6a (создаем файловую систему)
      mkdir /ftproot (создаем mount-point, куда будет монтироваться наше хранилище)
      ee /etc/fstab (меняем таблицу носителей, добавляем наш новоиспеченный раздел под фтп)
      создаем новую строчку в конце и добавляем (напоминаю, ad6 это мой винт)
      /dev/ad6a             /ftproot            ufs     rw              2       2
      перезагружаемся и заходим обратно в shell
      3. смотрим uname -a (конкретно версию), по результатам добавляем источник пакетов
      setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/
      (почему выбрали package-8-stable? потому что uname -a показал нам sullrich@FreeBSD_8.0)
      4. ставим pure-ftpd (все пакеты можно глянуть через ls -l /var/db/pkg)
      pkg_add -vr pure-ftpd (-v полный лог, -r установка)
      5. теперь создаем конфиг из примера
      cd /usr/local/etc (переходим в папку с примерами конфигураций)
      ls -l (видим pure-ftpd.conf.sample)
      cp pure-ftpd.conf.sample pure-ftpd.conf (копируем пример в рабочий конфиг)
      6. теперь редактируем конфиг, можно пойти по одному из двух путей, первый (6.1) – юзаем системных пользователей, второй
      (6.2) – юзаем пользователей из PureDB (база юзеров pureftp)
      6.1. юзаем системных пользователей (юзеры складируются в /etc/passwd)
      6.1.1. редактируем конфиг
      ee pure-ftpd.conf
      ищем строчки и убираем знак # перед ними (т.е. раскомментируем)
      UnixAuthentication yes (авторизация через /etc/passwd)
      CreateHomeDir yes (для каждого нового пользователя прошедщего авторизацию создаем свою папку, иначе отлуп)
      Bind 172.31.20.20,21 (раскомметировать необязательно, биндинг на конкретный интерфейс, иначе слушаем всё)
      6.1.2. добавляем юзеров
      pw useradd buhanka -d /ftproot/buhanka (добавляем юзера buhanka)
      passwd buhanka (ставим пароль)
      pw user show buhanka (посмотрим что получилось)
      6.1.3. переходим к пункту 7.
      6.2. юзаем пользователей PureDB (юзеры складируются в указанную в конфиге файловую базу PureDB)
      6.2.1. редактируем конфиг
      ee pure-ftpd.conf
      ищем строчки, убираем знак # перед ними (т.е. раскомментируем)
      PureDB /etc/pureftpd.pdb (задаем файловую базу)
      CreateHomeDir yes (для каждого нового пользователя прошедщего авторизацию создаем свою папку, иначе отлуп)
      Bind 172.31.20.20,21 (раскомметировать необязательно, биндинг на конкретный интерфейс, иначе слушаем всё)
      6.2.2. добавляем юзеров
      pw user add ftpaccount -s /sbin/nologin -w no -d /ftproot -c "ftp users" –m (добавляем ftpaccount, через него наши юзеры из
      файловой базы будут ходить на сервер)
      chown -R ftpaccount /ftproot (рекурсивно меняем владельца файлов и папок)
      /usr/local/bin/pure-pw useradd buhanka -u ftpaccount -g ftpaccount -d /ftproot/buhanka (добавляем пользователя в базу)
      /usr/local/bin/pure-pw mkdb (после изменения нужно заново создать базу)
      /usr/local/bin/pure-pw show buhanka (посмотрим что получилось)
      6.2.3. переходим к пункту 7.
      7. итак, винт работает и смонтирован, пользователи созданы и жаждут работы, теперь нужно запустить pureftpd
      cd /usr/local/etc/rc.d/ (меняем папку)
      ls -l (смотрим листинг)
      файл pure-ftpd должен лежать, теперь нужно сделать чтобы служба запускалась после перезапуска сервера
      mv pure-ftpd pure-ftpd.sh (переименовываем скрипт автозапуска, чтобы pfsense смог его загрузить)
      cd /etc/defaults
      ee rc.conf
      где-нибудь, например вначале, добавляем строчку
      pureftpd_enable=”YES” (включаем запуск pureftpd)
      перезагружаемся и снова лезем в shell
      8. проверяем подключение
      ftp localhost

      Пара моментов:

      1. в режиме 6.2. после каждого добавления/удаления пользователей нужно пересоздавать базу
      2. для подключения кроме как с localhost нужно создавать правила

      pfsense.txt

      1 Reply Last reply Reply Quote 0
      • D
        dvserg
        last edited by

        Ну что так скромно-то? Написал, так пости в топ. Отформатируй чтобы читабельно было.

        SquidGuardDoc EN  RU Tutorial
        Localization ru_PFSense

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.