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.
    • D
      dvserg
      last edited by

      В качестве дополнения. Есть такой каталог /usr/local/pkg/pf. Все скрипты .sh оттуда срабатывают при старте системы. Сделано специально для скриптов packages.

      SquidGuardDoc EN  RU Tutorial
      Localization ru_PFSense

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

        @l2grom:

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

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

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

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

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

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