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

      А блог чей собственно? Мне кажется мы его знаем  ;D

      SquidGuardDoc EN  RU Tutorial
      Localization ru_PFSense

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

        @dvserg:

        А блог чей собственно? Мне кажется мы его знаем  ;D

        Yes, так и надо сылаться на ранее выложенные статьи, именно эти статьи помогли мне разобраться с ФТП, а не та что тут преведена, она только больше вопросов создала и в тупик меня поставила.

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