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

      @zar0ku1:

      @l2grom:

      http://blog.shukan.ru/2009/02/proftpd-pfsense.html  более правильный пример данной статьи

      Ну и, кто тут лгун?

      Спасибо, уморил, уже второй за сегодня, если что меня зовут Сергей, а фамилия Шукан и в моем профиле есть ссылка на мою хоумпейдж - этот блог
      C уважение ваш личный, Капитан очевидность :)

      Мне поправить первый пост или не надо?

      javascript:void(0);  ну что тут скажешь, спасибо за статью, я так налетел на вас ибо не приветствую тех кто перепечатывает материалы и не понимает смысл изложенного в материале, прошу прощения

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

        @l2grom:

        ну что тут скажешь, спасибо за статью, я так налетел на вас ибо не приветствую тех кто перепечатывает материалы и не понимает смысл изложенного в материале, прошу прощения

        Я тоже не приветствую ;)

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

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

        1 Reply Last reply Reply Quote 0
        • 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.