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

    Proftpd on pfsense

    Scheduled Pinned Locked Moved Russian
    45 Posts 9 Posters 38.1k Views
    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.
    • L
      l2grom
      last edited by

      Необходимо указать на фаил с юзерами которые по умолчанию заблокированы, это важно, указать на файлы которые необходимо создать руками и установить права на доступ к ним, но и не забыть указать на пакеты которые должны присутствовать( обязательно для установки данного пакета, там их всего 2).

      1 Reply Last reply Reply Quote 0
      • Z
        zar0ku1
        last edited by

        @l2grom:

        Необходимо указать на фаил с юзерами которые по умолчанию заблокированы, это важно, указать на файлы которые необходимо создать руками и установить права на доступ к ним, но и не забыть указать на пакеты которые должны присутствовать( обязательно для установки данного пакета, там их всего 2).

        что за файл с юезрами?

        там все указаны строчки где что создавать, давайте больше конкретики

        закрывайте темы, если ответ на ваш вопрос полон.
        если схема сложная - не поленитесь ее нарисовать

        1 Reply Last reply Reply Quote 0
        • L
          l2grom
          last edited by

          Для начала установка производилась на абсолютно голую Pfsense
          Version   1.2.3-RELEASE
          built on Sun Dec 6 23:21:36 EST 2009
          в связке ipcad+squid+lightsquid+proftpd

          И так качаем пакет proftpd-1.3.2.tbz, и к нему libiconv-1.11_1 и gettext-0.17_1 скачали пакеты, закидываем их на диск pfsense Diagnostics\Command Promt.

          далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
          нажимаем клавишу 8 и <nter>, входим в режим Shell;

          далее переходим в каталог tmp туда должны были упасть наши пакеты, набераем
          cd tmp

          пакеты на месте устанавливаем набираем в этой-же строке
          pkg_add proftpd-1.3.2.tbz
          если увидите эту информацию после установки не обращайте внимание, это нам не понадобиться для работы ftp.
          install-info: not found
          pkg_add: command 'install-info –quiet /usr/local/info/autosprintf.info /usr/local/info/dir' failed
          install-info: not found
          pkg_add: command 'install-info --quiet /usr/local/info/gettext.info /usr/local/info/dir' failed
          pkg_add: warning: package 'gettext-0.17_1' requires 'libiconv-1.13.1', but 'libiconv-1.11_1' is installed

          Потом правим конфигурационный файл ProFTPd

          ee /usr/local/etc/proftpd.conf
          Полностью рабочий листинг

          Имя сервера

          ServerName "Мой FTP Server"

          #Как запускается демон
          ServerType standalone

          DefaultServer on
          ServerIdent off

          ScoreboardFile /var/run/proftpd.scoreboard
          DelayTable /var/run/proftpd.delay

          #Если сервер в локалке, то можно руту дать возможность соединяться по ftp. В /etc/ftpusers закомментируем root
          RootLogin on

          #Стандартный FTP порт
          Port 21

          Маска для ограничения создания директорий и файлов

          Umask 022

          Пользователь и группа, под которой работает демон

          User nobody
          Group nogroup

          Ограничения

          MaxClients 15 "Слишком много соединений с сервером"
          MaxClientsPerHost 4 "%m клиента уже подключены с Вашего хоста, больше не разрешено"
          MaxLoginAttempts 3 "Слишком много попыток войти"

          Ограничение трафика. В данном случае мы ограничиваем закачку и скачивание всем пользователям на 150k кроме рута

          TransferRate RETR,STOR,APPE 150 user !root

          Вывод сообщений при входе

          DisplayConnect /etc/ftp_connect.msg
          DisplayLogin /etc/ftp_login.msg
          AccessDenyMsg "ATTENTION!!! ALL CONNECTIONS LOGED"
          AccessGrantMsg "Now apload/download files"
          DisplayGoAway "Go Away"

          #Возможно определить с каких ip соединения допустимы или запрещены
          #UseHostsAllowFile /etc/proftpd.allow
          #UseHostsDenyFile /etc/proftpd.deny

          Установим ограничения по времени

          TimeoutIdle 180
          TimeoutLogin 120
          TimeoutNoTransfer 360
          TimeoutStalled 640

          Chroot определенные группы на директории

          #Для рута
          DefaultRoot /
          #Для анонимных пользователей (директория определяется ниже)
          DefaultRoot /tmp/
          #Для других пользователей имеющих свою группу и доспупные только им файлы и папки
          DefaultRoot /tmp/

          Логи

          #SyslogLevel notice
          #UseReverseDNS off
          #TransferLog /var/log/proftpd-tranfer.log
          #SystemLog /var/log/proftpd-error.log
          #ExtendedLog /var/log/proftpd-extended.log read,write

          Normally, we want files to be overwriteable.

          <directory>AllowOverwrite on</directory>

          Открываем доступ анонимным пользователям

          <anonymous путь.к.директории.для.анонимных.пользователей="">User anonftp
          Group nogroup
          UserAlias anonymous anonftp
          MaxClients 20 "Sorry, max %m users – try again later"
          DisplayFirstChdir .message
          <limit write="">DenyAll</limit></anonymous>

          Создаем необходимые файлы и директории. Устанавливаем права на файлы.

          touch /var/log/proftpd-error.log
          chmod 777 /var/log/proftpd-error.log
          touch /var/log/proftpd-tranfer.log
          chmod 777 /var/log/proftpd-tranfer.log

          #эти файлы будут созданы автоматом, но все -же
          touch /var/run/proftpd.delay
          chmod 600 /var/run/proftpd.delay
          touch /var/run/proftpd.scoreboard
          chmod 600 /var/run/proftpd.scoreboard

          В дальнейшем права можете поменять.

          Создаем аналогично файлы приветствий /etc/ftp_connect.msg и /etc/ftp_login.msg. Создаем пользователя anonftp, каталогом для анонимного доступа укажем его домашний каталог(см. алиас выше).
          Заводим пользователя, допустим ftp с домашней директорией /var/ftp/

          pw add user ftp -d /var/ftp

          И ставим выставляем пароль:

          passwd ftp

          Если директории /var/ftp не существует создаем ее

          mkdir /var/ftp/

          выставляем хозяина папки пользователя ftp

          chown ftp /var/ftp -R

          Правим скрипт запуска proftpd, /usr/local/etc/rc.d/proftpd

          ee /usr/local/etc/rc.d/proftpd

          #!/bin/sh

          proftpd_enable="YES"

          . /etc/rc.subr

          name=proftpd
          rcvar=set_rcvar

          command=/usr/local/sbin/proftpd
          pidfile=/var/run/proftpd.pid
          required_files=/usr/local/etc/proftpd.conf

          stop_postcmd=stop_postcmd

          stop_postcmd()
          {
           rm -f $pidfile
          }

          extra_commands="reload"

          load_rc_config $name
          run_rc_command "$1"

          Теперь заходим в webGUI, в Interfaces –> LAN и ставим галочку “Disable the userland FTP-Proxy application
          В принципе наш ftp сервер готов, пробуем запустить:

          /usr/local/etc/rc.d/proftpd.sh start
          Starting proftpd.

          и подключаемся http://ftp://192.168.0.1

          Если что-то не получается, смотрим логи:

          tail –f /var/log/proftpd.log

          потом правим файл /cf/conf/config.xml где пошло описание сервисов, добавляем:
          <service><name>ProFTPd</name>
                 <rcfile>proftpd</rcfile>
                 <executable>proftpd</executable>
                 <description>ProFTPd server Service</description></service>

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

          rm /tmp/config.cache

          Теперь заходим в webGUI Status –> Services и наблюдаем новый сервис, который можно останавливать и запускать, мелочь, а приятно =)

          Пока не нашел как автоматически запускать сервис при рестарте, как найду, обязательно допишу.
          Статья опубликована http://blog.shukan.ru/2009/02/proftpd-pfsense.html</nter>

          1 Reply Last reply Reply Quote 0
          • M
            Michael Sh.
            last edited by

            @l2grom:

            И так качаем пакет proftpd-1.3.2.tbz, и к нему libiconv-1.11_1 и gettext-0.17_1 скачали пакеты, закидываем их на диск pfsense Diagnostics\Command Promt.

            далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
            нажимаем клавишу 8 и <nter>, входим в режим Shell;

            далее переходим в каталог tmp туда должны были упасть наши пакеты, набераем
            cd tmp

            пакеты на месте устанавливаем набираем в этой-же строке
            pkg_add proftpd-1.3.2.tbz
            ...</nter>

            Вы уж извините за прямоту, но дальше я бы просто не стал бы читать статью.
            Вообще-то всё выше сказанное делается одной командой
            pkg_add -r proftpd-1.3.2

            1 Reply Last reply Reply Quote 0
            • E
              Eugene
              last edited by

              А мне вот это понравилось:
              @l2grom:

              далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
              нажимаем клавишу 8 и <nter>, входим в режим Shell;</nter>

              http://ru.doc.pfsense.org

              1 Reply Last reply Reply Quote 0
              • M
                Michael Sh.
                last edited by

                А ещё удивляет бездумная установка флагов:
                @l2grom:

                touch /var/log/proftpd-error.log
                chmod 777 /var/log/proftpd-error.log

                По работе постоянно сталкиваюсь. Объясняешь - нечего там в логе выполнять. Нет, в следующий раз опять…

                1 Reply Last reply Reply Quote 0
                • Z
                  zar0ku1
                  last edited by

                  ребят, если для вас это банальные вещи, а вот у человека трудности вышли, поэтому он на этом и решил акцентировал внимание

                  закрывайте темы, если ответ на ваш вопрос полон.
                  если схема сложная - не поленитесь ее нарисовать

                  1 Reply Last reply Reply Quote 0
                  • L
                    l2grom
                    last edited by

                    @Eugene:

                    А мне вот это понравилось:
                    @l2grom:

                    далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
                    нажимаем клавишу 8 и <nter>, входим в режим Shell;</nter>

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

                    1 Reply Last reply Reply Quote 0
                    • M
                      Michael Sh.
                      last edited by

                      @zar0ku1:

                      ребят, если для вас это банальные вещи, а вот у человека трудности вышли, поэтому он на этом и решил акцентировал внимание

                      Нужна ли в статье информация о том, где находится "any key" - спорить не буду. Но указать на явные ошибки думаю желательно.

                      1 Reply Last reply Reply Quote 0
                      • E
                        Eugene
                        last edited by

                        @l2grom:

                        @Eugene:

                        А мне вот это понравилось:
                        @l2grom:

                        далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
                        нажимаем клавишу 8 и <nter>, входим в режим Shell;</nter>

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

                        Категорически согласен.

                        http://ru.doc.pfsense.org

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