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.
    • M
      manjak
      last edited by

      @hintoz:

      Sorry, решил проблему таким образом

      pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.1-release/ftp/proftpd-1.3.2.r2_1.tbz
      

      правильно решил, извини, не заметил сразу…. ;D

      http://art-bahmut.ucoz.ua/forum/

      1 Reply Last reply Reply Quote 0
      • T
        tamaki
        last edited by

        PfSense 1.2.3-RELEASE
        Работают 3proxy, Imspector

        Установил proftpd (pkg_add -r proftpd)

        /usr/local/etc/proftpd.conf

        
        ServerName		"FTP"
        ServerType		standalone
        DefaultServer		on
        ServerIdent		off
        RootLogin		off
        ScoreboardFile		/var/run/proftpd.scoreboard
        DelayTable		/var/run/proftpd.delay
        Port			21
        Umask			022
        User			nobody
        Group			nobody
        DefaultRoot /home/ftp	ftp
        TransferLog		/var/log/proftpd-transfer.log
        SystemLog		/var/log/proftpd-error.log
        #ExtendedLog		/var/log/proftpd-extended.log
         <directory>AllowOverwrite on</directory> 
        
        

        pw add user ftp -d /home/ftp
        passwd ftp
        mkdir /home/ftp
        chown ftp /home/ftp
        touch /var/run/proftpd.scoreboard
        touch /var/run/proftpd.delay

        /usr/local/etc/rc.d/proftpd взял из шапки этого топика
        "Disable the userland FTP-Proxy application" галку поставил

        Проблема в том, что очень долго идёт подключение. Если подключаться через totalcmd, то очень долго думает на шаге startdir
        Если подключаться через IE например ftр://user:pass@host:port, то не отображает содержимое FTP. Пишет, что отсутствуют права.
        Также иногда в totalcmd вылезает ошибка: невозможно выполнить комманду PORT.

        Права на папку /home/ftp
        755 ftp wheel

        P.S. на WAN разрешен входящий 21 порт.

        1 Reply Last reply Reply Quote 0
        • T
          tamaki
          last edited by

          Решилось добавлением в конфиг двух строчек

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

            @tamaki:

            Решилось добавлением в конфиг двух строчек

            
            UseReverseDNS off
            IdentLookups off
            
            

            так и думал что у вас криво или вообще не настроен днс

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

            1 Reply Last reply Reply Quote 0
            • T
              tamaki
              last edited by

              DNS получаю от провайдера. Что собственно и прописано в GUI```
              System: General Setup - DNS servers

              Галка Allow DNS server list to be overridden by DHCP/PPP on WAN стоит. _Что я сделал не так?_
              1 Reply Last reply Reply Quote 0
              • Z
                zar0ku1
                last edited by

                @tamaki:

                DNS получаю от провайдера. Что собственно и прописано в GUI```
                System: General Setup - DNS servers

                Галка Allow DNS server list to be overridden by DHCP/PPP on WAN стоит. _Что я сделал не так?_
                

                обратка у провайдера прописана?

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

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

                  Зачем ftpd, если pfsense - это готовый sftp сервер? Только если разных юзеров надо к разным директориям пускать…
                  Не понял, как связан торрент и ftp -(((

                  http://ru.doc.pfsense.org

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

                    @Eugene:

                    Зачем ftpd, если pfsense - это готовый sftp сервер? Только если разных юзеров надо к разным директориям пускать…
                    Не понял, как связан торрент и ftp -(((

                    солидарен, но допустим семество ос "которых нельзя называть" - не умеют работать с sftp из коробки, что иногда огорчает
                    а так sftp наше все, долой нешифрованный пассивно-активный фтп

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

                    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

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

                        ну и просто полезные ссылки
                        http://leonidov.su/2008/08/26/ftpd_config/
                        http://www.opennet.ru/base/net/proftpd_setup.txt.html

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

                        1 Reply Last reply Reply Quote 0
                        • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.