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

    Доступ к локальному ftp через WAN?

    Scheduled Pinned Locked Moved Russian
    43 Posts 5 Posters 7.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.
    • werterW
      werter @luha
      last edited by werter

      @luha
      На втром листинге нет пассив моде.

      Покажите iptables -L -v -n на проблемном сервере.

      L 1 Reply Last reply Reply Quote 0
      • L
        luha @werter
        last edited by

        @werter Браво! Я же говорю - два сервера. На одном работает на другом нет.

        Оба настроены с пассивным режимом. Вот настройки со второго сервера:

        by luha

        ** Use the hostname in the PASV response (DNS must be setup and match!)
        pasv_addr_resolve=YES
        ** Enable Passive Mode
        pasv_enable=YES
        ** Set the passive port range (1000 ports)
        pasv_min_port=20000
        pasv_max_port=20999

        werterW 1 Reply Last reply Reply Quote 0
        • werterW
          werter @luha
          last edited by

          @luha
          Есть предположение что при переходе в пассивный режим, ваш FTP-сервер переключается на порт который заблокирован фаерволом.

          Я могу посоветовать временно отключить фаервол для проверки

          Проверь этот момент.

          L 1 Reply Last reply Reply Quote 0
          • werterW
            werter
            last edited by

            @luha
            https://docs.netgate.com/pfsense/en/latest/recipes/ftp-without-proxy.html

            # Do not allow the client to use PORT
            **port_enable=NO**
            # Use the hostname in the PASV response (DNS must be setup and match!)
            pasv_addr_resolve=YES
            # Enable Passive Mode
            pasv_enable=YES
            # Set the passive port range (1000 ports)
            pasv_min_port=20000
            pasv_max_port=20999
            
            1 Reply Last reply Reply Quote 0
            • L
              luha @werter
              last edited by luha

              @werter Я думаю что клиент в случае с proftpd получает жёстко установленный адрес IP и в локальной сети это создаёт проблемы. У vsftpd не надо жёстко указывать IP, он его сам вычисляет, видимо сам находит нужный в зависимости какой адрес видит клиент.

              @werter Я с этих доков и брал эти настройки. ))
              Ссылку на доки выше кинул.

              werterW 1 Reply Last reply Reply Quote 0
              • werterW
                werter @luha
                last edited by werter

                @luha

                ** Use the hostname in the PASV response (DNS must be setup and match!)
                pasv_addr_resolve=YES

                Получается, что клиент получает ВНЕШНЕЕ имя фтп-сервера и пытается работать с ним. Поставь там NO, рестартани службу фтп и проверь. Должно сработать внутри сети.

                Или настраивай split dns для разрешения имени фтп-сервера в ЛОКАЛЬНЫЙ ip.

                L 1 Reply Last reply Reply Quote 0
                • L
                  luha @werter
                  last edited by

                  @werter Да. Всё именно так. Клиент получает внешний адрес и пытается работать с ним. Если выключить то будет работать и снаружи и изнутри. Но только для тех клиентов у кого активный режим действует. Остальные идут лесом плакать.

                  Ладно. Я пойду работать. У меня проблем нету, мы с этого FTP считываем по локалке папки по SMB.

                  werterW 1 Reply Last reply Reply Quote 0
                  • werterW
                    werter @luha
                    last edited by werter

                    @luha said in Доступ к локальному ftp через WAN?:

                    Да. Всё именно так. Клиент получает внешний адрес и пытается работать с ним. Если выключить то будет работать и снаружи и изнутри. Но только для тех клиентов у кого активный режим действует. Остальные идут лесом плакать.

                    Что и требовалось доказать.

                    Настраивай сплит днс и спи спокойно. И снаружи и ВНУТРИ все будет работать в пассивном режиме.

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      luha @werter
                      last edited by

                      @werter У нас свой DNS, всё настроено, имена правильно разрешаются, дело совсем не в этом. Не работает по причине которую ты сам выше озвучил. Пассивный режим мешает тем что там IP внешний в настройках.

                      werterW 1 Reply Last reply Reply Quote 0
                      • werterW
                        werter @luha
                        last edited by werter

                        @luha

                        Имя РАЗРЕШАЕТСЯ в IP. Если внутри имя будет разрешаться в ЛОКАЛЬНЫЙ ip для ЛОКАЛЬНЫХ клиентов и во ВНЕШНИЙ ip для ВНЕШНИХ клиентов, то все будет ок.

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          luha @werter
                          last edited by

                          @werter Внутри имя разрешается внутренним сервером DNS во внутренний IP. Снаружи имя разрешается внешними публичными серверами DNS во внешний IP. Если бы были проблемы с разрешением имени то не нашло бы сервера, не залогинилось бы и т.д.. А он логинит и потом сливается! Короче proftpd лучше не использовать с PF - вот такой можно делать вывод. Юзайте vsftpd

                          werterW 1 Reply Last reply Reply Quote 0
                          • I
                            Igor Filth
                            last edited by

                            Спасибо за проявленное внимание к проблеме.
                            Именно в моём случае проблема доступа в локальной сети по локальному IP сервера в пассивном режиме кроется в нерабочей галочке "Don't use external IP for local connection".

                            Почему же она "не работает"?
                            Потому что на этой фирме ещё задолго до моего трудоустройства адресация локальной сети была в диапазоне, отличающимся от стандарта RFC1918 (передаю привет всем причастным к этому товарищам).
                            Из-за того, что согласно международным стандартам адресации, IP, c которого пытается зайти программа-клиент в локальной сети, не является частным сервер Filezilla считает, что подключение в пассивном режиме идёт откуда-то извне и не соединяет.

                            Так что осуществлю давно задуманное мной желание сделать локальную сеть в правильном диапазоне. Осталось лишь договориться с руководством когда можно сделать простой в работе фирмы, т.к. у нас круглосуточный режим работы предприятия.
                            Перевод на нормальную адресацию хотел сделать уже года 2, но вроде всё это время проблем не было. Поэтому идти договариваться с руководством насчёт приостановки деятельности предприятия на несколько часов желания не было. А теперь есть повод.

                            P.S. Хотя сегодня ночью мне удалось сделать так, чтобы работало напрямую по локальной сети. На основном ftp-сервере filezilla и на клиентской машине с программой задал дополнительные ip из стандартизированного диапазона частных сетей. И подключение с доп. адреса клиентской программы на доп. адрес FZ осуществляется без проблем. Но это чёртов костыль, поэтому перестройке адресации в LAN быть!

                            werterW 1 Reply Last reply Reply Quote 0
                            • werterW
                              werter @Igor Filth
                              last edited by werter

                              @igor-filth said in Доступ к локальному ftp через WAN?:

                              Потому что на этой фирме ещё задолго до моего трудоустройства адресация локальной сети была в диапазоне, отличающимся от стандарта RFC1918 (передаю привет всем причастным к этому товарищам).

                              Найти предыдущего. Набить морду. Отобрать трудовую, написать в ней матом отзыв.

                              1 Reply Last reply Reply Quote 0
                              • werterW
                                werter @luha
                                last edited by werter

                                @luha said in Доступ к локальному ftp через WAN?:

                                Внутри имя разрешается внутренним сервером DNS во внутренний IP

                                И ip этого ДНС клиент получает подключившись по ви-фи себе в кач-ве ДНС? Или он получает в кач-ве ПЕРВОГО ДНС ip ви-фи роутера? Сдается мне, что последнее.
                                Я бы перепроверил )

                                L 1 Reply Last reply Reply Quote 0
                                • L
                                  luha @werter
                                  last edited by

                                  @werter У нас на всю контору только один сервер DHCP и он выдаёт настройки. Все клиенты получают адрес внутреннего сервера DNS и там регистрируются, чтобы я видел кто у нас тут чем занят. Даже те что по VPN подключаются попадают на эту штуку.

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

                                  werterW 1 Reply Last reply Reply Quote 0
                                  • werterW
                                    werter @luha
                                    last edited by werter

                                    @luha

                                    У нас на всю контору только один сервер DHCP

                                    И ви-фи работает как простая АП?

                                    Попробуйте в proftpd.conf добавить:

                                    ...
                                    ExtendedLog /var/log/ftp.log
                                    TransferLog /var/log/xferlog
                                    SystemLog /var/log/syslog.log
                                    ...

                                    Сделать рестарт proftpd, запустить tail -F -n 20 /var/log/ftp.log и попробовать подключиться к фтп с проблемного клиента. Возможно, ситуация и прояснится.

                                    Зы. Покажите вывод
                                    sed -n '/<Global/,//Global/p' /etc/proftpd.conf /etc/proftpd.d/* | grep PassivePorts

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      luha @werter
                                      last edited by

                                      @werter В логах повторяет это:
                                      FTP session opened.
                                      USER kamera2: Login successful. (взял пользователя камеры наблюдения)

                                      Всё. Больше ничего в лог proftpd не пишет.

                                      Да ладно. Не важно, не заморачивайся. Уже потрачено на это время. proftpd должна переключиться в случае неудачи обратно на активный режим и так было с предыдущим роутером. А сейчас по какой-то причине она перестала это делать. Я сам для себя понял что и как там не работает и поскольку нам сейчас не принципиально из локальной сети туда подключаться, а снаружи, там где это нужно - работает как надо. Просто такой вот забавный факт и особенность имеется при использовании пассивного режима.

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