1с ftp соединение зависает
Я устанавливаю FTP-сервер на моем сервере Windows 2008 (R2).
Кажется, все установлено правильно, но у меня проблемы с использованием FTP-клиента для входа на мой FTP-сервер.
Я могу удаленно подключиться к серверу и с помощью команд DOS войти в систему довольно легко.
Но если я выполняю команду типа «DIR», она зависает с: 150 Открытие соединения для передачи данных в режиме ASCII.
Все, что я исследовал и прочитал, указывает на порты брандмауэра и / или настройки пассивного / активного режима.
Вот что меня беспокоит . если я использую команды DOS FTP, я могу войти в систему и использовать команду "DIR", только если я использую "localhost" в качестве своего адреса.
Если я укажу свой полный URL-адрес FTP, я получу ошибку зависания.
если я укажу URL "localhost", я не получу ошибку.
Это заставляет меня поверить, что это проблема брандмауэра (или даже проблема IIS7?), Но я не уверен, какие порты мне нужно открыть?
На моем брандмауэре Windows открыты порты 20, 21. Я также открыл эти порты на своем брандмауэре AWS (Amazon).
Я считаю, что мой FTP-клиент использует некоторые номера портов дальнего радиуса действия, которые могут быть заблокированы одним из двух моих межсетевых экранов. Я использовал инструменты сетевого мониторинга, чтобы попытаться увидеть, какие порты он вызывает, но я не могу понять это.
Есть идеи, советы, хитрости, помощь?
FTP-сервер и FTP-клиент согласовывают, какие порты будут использоваться для передачи данных (включая список каталогов, когда вы делаете «dir» или «ls»), используя «канал управления» FTP. Таким образом, если ваш «брандмауэр AWS» не выполняет проверку протокола на этом канале, он никак не сможет узнать, какие порты он должен динамически открыть, чтобы разрешить поток трафика (и закрыть, когда эти порты больше не используются).
ИМХО, используя мониторинг сети, чтобы определить, какие порты используются, не стоит усилий, потому что эти порты будут меняться при каждом новом сеансе FTP.
Если вы еще этого не сделали, мой лучший способ устранения этой проблемы - поиск любых изменений в брандмауэре, защищающем ваш FTP-сервер (если я правильно понимаю ваш вопрос, это будет "брандмауэр AWS") и посмотрите, есть ли это любая «ручка» для включения проверки протокола FTP.
При появлении запроса введите имя пользователя и пароль, затем будут работать такие команды, как ls и cd . Я верю, что вы также можете ввести эту команду, и она сделает то же самое, но я не проверял ее.
Я знаю, что вопрос относится к Windows; однако, учитывая ту же ошибку, было получено, что этот совет стоит опубликовать.
Чтобы получить реальную информацию о том, почему соединение застряло, вам нужно будет использовать клиент, который регистрирует все команды протокола, чтобы увидеть, что на самом деле происходит. Вот хороший сайт на FTP с примерами журналов здесь .
Скорее всего, либо
- ваш клиент находится за (немым или иначе заблокированным SSL) брандмауэром и пытается использовать FTP в активном режиме
- ваш сервер находится за (немым или иначе заблокированным SSL) брандмауэром и пытается использовать FTP в пассивном режиме
Если вы используете SSL, единственный ответ - открыть диапазон портов (скажем, 10000-11000) на брандмауэре и настроить FTP-сервер на принудительный пассивный режим и использовать этот диапазон портов. Если ваш сервер использует NAT, вам также необходимо настроить надлежащий IP-адрес для сервера, который будет рекламироваться клиентам, большинство подчиняется тому, что сервер предоставляет в качестве строки подключения пассивного режима, и если сервер считает, что это 10.1.1.1, вот что это собирается рассказать клиентам.
Если вы не можете получить более интеллектуальный брандмауэр, то вам придется придерживаться опции «открыть группу портов» (или переключиться на протокол, который не должен открывать несколько случайных портов, например ssh ssh ssh).
У меня была эта проблема, и она была решена путем выполнения следующих действий.
Я использовал FireFTP, который по умолчанию подключается через пассивный режим. При настройке FTP в IIS порт по умолчанию будет 21. Мне пришлось открыть порт 21 в брандмауэре, который продвинул меня дальше, но он зависал при открытии соединения для передачи данных в режиме ASCII .
Оказывается, он выбирает другие динамические порты. Я знал, что это проблема с брандмауэром, так как при отключенном брандмауэре FTP-соединение нормально работает Также локально на сервере - без проблем.
В поле Диапазон каналов данных укажите количество портов x , в моем случае 10000-10125 .
Теперь в брандмауэре откройте этот диапазон портов TCP как «Диапазон пассивных портов FTP».
Я тогда думал, что проблема будет решена, но не совсем. Обязательно перезапустите службу службы Microsoft FTP, чтобы подобрать новый диапазон портов. Закройте FireFTP / клиент и повторите попытку, и на этот раз вам повезет. :)
мне сказали, что проблема
1.блокировка ftp-подключения брандмауэром (файерволом) или антивирусом Вашего компьютера.
2.проблемы на стороне промежуточных узлов (между нашим сервером и вашим компьютером).
Первая,думаю отпадает. Но вторая проблема решается перезагрузкой роутера (выкл/вкл роутера). Но постоянно так приходится делать, несколько раз по дню, как устранить проблему?
подключаюсь по winscp
- Вопрос задан более трёх лет назад
- 11154 просмотра
К 2-му вашему вопросу, когда будут проблемы с подключением, проверьте нет ли потерь на промежуточных хостах до вашего сервера FTP. В выводе 0% - без потерь.
ой,забыла сказать,подключаюсь по winscp
Для FTP (если вы используете именно FTP, а не SCP) для решения большинства проблем достаточно переключить режим с пассивного на активный (или наоборот). Должно настраиваться в подключении.
Если используете SCP - то где-то закрыт доступ.
k l, Ну для начала нужно выяснить почему не подключается.
Какой режим работы сервера - активный или пассивный?
Как правило проблемы возникают именно с активным режимом, если вы за NAT'ом.
Попробуйте принудительно выставить пассивный режим, если не поможет попробуйте другой клиент.
Неплохо бы посмотреть логи на сервере и на клиенте - какие ошибки при подключении выдает?
режим подключения по winscp пассивный.
Неплохо бы посмотреть логи на сервере и на клиенте - какие ошибки при подключении выдает?
кстати, вчера, подключение было чисты, вероятнее, из-за того, что не было начальников.
Определитесь как-нибудь уже, как подключаетесь-то? FTP - это FTP, WinScp - это виндовый клиент программы scp, части ssh. Там порты совершенно другие и все по-другому :)
Strabbo, о, и правда есть :) Типичная виндовая все-в-одном программа :)
но я сегодня заметила странную тенденцию. Когда начальники работают, не работает фтп.
в конторе я одна работаю по фтп .
Может быть такое? или это совпадение?
сегодня все нормально работает.
k l, может. Если Вы админ - просмотрите, что делается на выходе к провайдеру в этот момент. Если нет - лучше обратиться к админу. Если на винде не банится ничего.
CityCat4, вчера проблем не было. так как начальников не было.
спасибо за ответ. скажите, пож-ста, как проверить?
или какая это тема, какие ключевые слова вбить в поиске, чтобы найти.
Пож-ста. помогите, мне.
k l, хех, сначала скажите - Вы админ или нет? Права-то нужные имеются? У не-админа просто нет возможностей хоть как-то воздействовать на сетевую инфраструктуру (ну разве что админы-ламеры :) )
Пробовала FireZilla, Переключение с пассивного на активный., пробовала вбить в браузер ftp:// -пустая страница.
Это значит, что как минимум у вас с этого 10.86.255.190 хоста начинаются потери пакетов. Если во время проблемы поставить на беспрерывный пинг ваш сайт (а возможно и любой сайт в Интернет), то вы их увидите, надпись будет такая "Превышен интервал ожидания для запроса".
Ваша проблема может быть связана с разными причинами от банальных - не хватает ширины канала в Интернет (и тогда это наблюдается в то время когда большинство сотрудников на работе), до физических проблем с кабелем или загрузкой CPU во время ddos-атаки на вас или от вас.
Оооо, любимый Дом.Вру! Как я его нежно люблю! Где поймаю, там и люблю.
10.86.255.90 - Ваш сайт или уже провайдерский? Провайдер предоставляет белый IP или серый? Подключение обычным у Дом.Вру PPPoE или все-таки привязкой по маку? Когда пропадает FTP - невозможно зайти ни на один сайт или же только на некоторые?
Grims, много знаете-))) Откуда почерпнули такие знания, если не секрет-))))
Думаю, "не хватает ширины канала в Интернет",так как если начальников нет, то у меня нормально работает - и что надо сделать?
CityCat4, провайдерский
По-моему, привязка по маку, PPPoE, посмотрю завтра на работе.
Когда пропадает FTP - невозможно зайти ни на один сайт.
Когда выкл и вкл роутер, соединение появляется.
Даже если начальники сидят?
Права на админку роутера есть? (Про наличие прав вообще не ответили - ну да это Ваше дело, будем считать что они у Вас есть). IP какой все же - белый или серый? Судя по картинке все-таки серый - это значит, что провайдер где-то Вас натит.
роутер RB951Ui-2HnD Mikro Tik
коммутаттор TP-LINK TL-SF10080
Судя по описанию, здесь идет подключение по Маку? Верно?
IPv4-адрес: 192.168.88.48
DNS-серверы IPv4: 192.168.88.1
91.144.186.3
5.3.3.3
Изготовитель: Realtek
Описание: Realtek PCIe GBE Family Controller
Версия драйвера: 10.1.505.2015
Физический адрес (MAC): 9C-5C-8E-90-A3-3B
Сетевой профиль общедоступный.
C:\Users\User>ipconfig
Настройка протокола IP для Windows
Адаптер Ethernet Ethernet:
DNS-суффикс подключения . . . . . :
Локальный IPv6-адрес канала . . . : fe80::91be:ba1b:ae76:2581%5
IPv4-адрес. . . . . . . . . . . . : 192.168.88.48
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . : 192.168.88.1
Туннельный адаптер Teredo Tunneling Pseudo-Interface:
DNS-суффикс подключения . . . . . :
IPv6-адрес. . . . . . . . . . . . : 2001:0:9d38:6ab8:14c9:9220:fa59:3fe7
Локальный IPv6-адрес канала . . . : fe80::14c9:9220:fa59:3fe7%10
Основной шлюз. . . . . . . . . : ::
Судя по описанному выше, у меня серый ип адрес, так как От 192.168.0.0 до 192.168.255.255 с маской 255.255.0.0 или /16- серй адрес
Доступы к роутеру я запрошу в крайнем случае, доступ к шлюзу можно получить через настройки роутера?
Пожалуйста, не пинайте, помогите-)
Провайдер натит, что для этого нужно сделать? Обратиться к провайдеру?
[CODE]Судя по описанию, здесь идет подключение по Маку? Верно?
IPv4-адрес: 192.168.88.48
DNS-серверы IPv4: 192.168.88.1
91.144.186.3
5.3.3.3
Изготовитель: Realtek
Описание: Realtek PCIe GBE Family Controller
Версия драйвера: 10.1.505.2015
[B]Физический адрес (MAC): 9C-5C-8E-90-A3-3B[/B][/CODE]
Предполагаю, что то, что выделенная последняя строчка кода об этом говорит.
так как:
[QUOTE]Напрямую доступ к сети Интернет, используя частный IP-адрес, невозможен. В этом случае связь с Интернетом осуществляется через NAT [/QUOTE] из той же статьи.
Доступ не дали, но мне очень хотелось разобраться, для себя. Надеюсь на понимание. По заводским настройкам я не вошла.
Трассировка завершена.
[/CODE]
я вижу, что потери начинаются после 10.86.255.190. я так поняла, он подключается к роутеру RB951Ui-2HnD Mikro Tik,именно к Эртелекому, верно? (см выше, п4.)
Далее, привожу ipconfig флехи
[CODE]
C:\Users\User>ipconfig /all
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . :
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет
Адаптер Ethernet Ethernet:
Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Физический адрес. . . . . . . . . : 9C-5C-8E-90-A3-3B
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
Адаптер беспроводной локальной сети Подключение по локальной сети* 9:
Адаптер беспроводной локальной сети Беспроводная сеть:
Туннельный адаптер Teredo Tunneling Pseudo-Interface:
По этим логам видна проблема? Спасибо-)
PS: Cкажите, пожалуйста, где можно почитать хорошую литературу на эту тему?
Помогите, пож-ста.
Спасибо-)
1. По вашей диагностике видно, что проблемы могут начинаются с 10.86.255.190, если это не ваше оборудование, откройте ТТ у своего провайдера ER-Telecom (скорее всего вы живете в Н-Новогороде) на плохое качество связи, если у вас перегрузка на канале связи они быстро это поймут и сообщат вам про это. При разговоре с тех.поддержкой сообщайте как можно больше конкретики (время возникновения и окончания проблемы, какие ресурсы не доступны, в чем это выражается и т.п.)
2. Я заметил, что вы соединены с Mikrotik по wi-fi, а wi-fi это коллизионная среда передачи данных, не забывайте про это. Поэтому вам или специалисту по сетям стоит при помощи анализатора спектра (например на том же Микротике) выбрать менее загруженную несущую и желательно использовать всего ширину несущей 20 MHz.
В этой статье представлены способы обхода ошибок интернет-соединений, которыми я пользуюсь на практике.
В моем случае проблема решалась редактированием файла C:\WINDOWS\system32\drivers\etc\hosts "192.168.0.1 доменноеимясайта" на клиенте или на сервере - там, где работает регламентное задание. После этого заработали встроенные интернет-соединения 1С:
Через компоненту dialmail подключение проходит нормально, но заставить его работать не удалось:
28.03.13 13:44:01.500 FTP: Подключаемся к сокету
28.03.13 13:44:01.515 FTP: К сокету подключились успешно
28.03.13 13:44:01.671 FTP 28.03.13 13:44:01.671 FTP --> USER 931013677
28.03.13 13:44:01.687 FTP 28.03.13 13:44:01.687 FTP --> PASS *****
28.03.13 13:44:01.703 FTP 28.03.13 13:44:01.703 FTP --> TYPE I
28.03.13 13:44:01.718 FTP 28.03.13 13:44:01.718 FTP --> STRU F
28.03.13 13:44:01.734 FTP 28.03.13 13:44:01.734 FTP --> REST 0
28.03.13 13:44:01.734 FTP 28.03.13 13:44:01.750 FTP --> REST 1
28.03.13 13:44:01.750 FTP 28.03.13 13:44:01.765 FTP --> REST 0
28.03.13 13:44:01.765 FTP 28.03.13 13:44:01.781 FTP --> PWD
28.03.13 13:44:01.781 FTP 28.03.13 13:44:02.968 FTP --> PWD
28.03.13 13:44:02.984 FTP 28.03.13 13:44:02.984 FTP --> PASV
28.03.13 13:44:03.000 FTP28.03.13 13:44:03.000 FTP --> LIST
при попытке загрузить файл на сервер идут ошибки сокета 10054
Вот перечень основных принципиальных вопросов при решении практической задачи использования интернет-соединения с помощью внешнего клиента, на которые оказалось важно обратить внимание.
Про winscp помогла публикация Выгрузка файлов на SFTP //infostart.me/public/145717/
На сервере может быть отключена расшифровка dns адреса (как в моем случае), поэтому вместо доменного имена сайта - цифровой ай пи адрес.
Текст процедуры, которая у меня реально работает (перезаписываю файл во временном локальном каталоге и заливаю на сервер):
Вот то, что относится ко внешнему ftp клиенту:
Команда для запуска скрипта:
open ftp://**************:**************@********************* // после собаки ай пи адрес, а не доменное имя
option transfer ascii
rm discount.txt
put D:\temp\discount.txt
close
exit
Результат выполнения этого скрипта:
В этой статье я попробую рассказать о том, какими средствами располагает технологическая платформа 1С для работы с протоколом FTP. Первая часть статьи — теоретическая, вторая — практические примеры. Отмечу, что при написании статьи использовалась технологическая платформа версии 8.3.12.1595.
Общая информация
Для работы с протоколом FTP у технологической платформы 1С имеется два главных объекта — FTPСоединение и FTPФайл, кроме них существует объект ЗащищенноеСоединениеOpenSSL — который используется для подключения к FTPS-серверам (не следует путать с SFTP), а также объект ИнтернетПрокси — который используется для соединения с FTP-сервером через прокси-сервер.
FTPСоединение ключевой объект для работы с FTP в 1С — именно через этот объект происходит и соединение с FTP/FTPS сервером и все дальнейшие действия. Все параметры для соединения с сервером указываются в конструкторе объекта.
FTPФайл служит для получения информации о каталогах и файлах на FTP-сервере — этот объект позволяет получить информацию по объекту на FTP-сервере: имя, путь расширение, размер и тд.
ИнтернетПрокси позволяет указать прокси-сервер используемый для соединения с FTP/FTPS сервером — параметры для подключения к прокси-серверу указываются методом Установить(). Использование свойств «Пароль» и «Пользователь» нежелательно, так как эти свойства являются устаревшими.
ЗащищенноеСоединениеOpenSSL создает защищенное соединение OpenSSL — предоставляет возможность организовать защищенное соединение с FTP-сервером, также имеется возможность конкретный сертификат клиента и/или сертификат удостоверяющего центра.
Практические задачи при работе с FTP
В качестве практических примеров рассмотрим все операции которые позволяет выполнить объект FTPСоединение.
Как подключиться к серверу FTP?
Параметры для подключения указываются в конструкторе, сами параметры достаточно стандартны. Отдельно скажу про два параметра:
Мы часто пользуемся протоколом FTP при передаче файлов или загрузке страниц интернета. В системах 1С тоже достаточно часто используется этот механизм для обмена данными с другими приложениями или между конфигурациями. На практике вы не раз столкнетесь с необходимостью воспользоваться заложенными в платформе 1С 8.3 механизмами работы с FTP. К этому необходимо быть готовым и знать основные приемы и принципы.
Заложенные в платформу объекты для FTP
Для того чтобы работать с протоколом FTP в технологическую платформу уже заложены некоторые инструменты. Они доступны в любой конфигурации, если версия вашей платформы 8.3 и выше. Рассмотреть их подробнее, узнать их методы и возможности вы сможете с помощью синтакс-помощника, нажав клавиши CTRL + F1 в конфигураторе. Вот эти объекты:
- FTPСоединение. Предназначен для соединения с серверами и выполнения основных действий – отправке данных через FTP;
Рис.1 Работа с FTP в 1С 8.3
- FTPФайл. Получает информацию о структуре каталогов и файлов на сервере, но не позволяет читать содержимое или производить запись. Дает доступ к информации о реквизитах:
- Имя;
- Путь;
- Расширение;
- Размер и прочее.
Перед тем как производить какие-либо действия с файлами, нам необходимо осуществить подключение к FTP-серверу или ресурсу в интернете. Для этого нам нужно узнать адрес, логин и пароль, под которыми можно зайти на ресурс, и рабочий каталог. По умолчанию объект FTPСоединение использует 21 порт для FTP и 990 для защищенных FTPS. Если у вас используются другие порты – придется их указывать вручную.
По результатам выполнения этого кода должно произойти подключение 1С к указанному ресурсу. Зачастую на этом моменте появляется проблема с тем, что программа долго подключается к FTP серверу. С большой долей вероятности решить эту проблему поможет попытка запустить соединение в пассивном режиме. Для этого в момент создания объекта FTPСоединение задать параметр № 6 в значение «Истина».
Работа с файлами на FTP сервере
После того как FTP соединение установлено, мы можем работать с файлами на удаленном ресурсе из 1С. Перед тем как что-то добавлять или удалять, необходимо посмотреть, какие файлы уже существуют на FTP-сервере. В этом нам поможет метод «НайтиФайлы», который помещает все найденные файлы в общий массив. После этого нам останется только обойти в цикле все элементы на FTP-сервере через 1С:
Перенести файл с локального компьютера, на котором запущена программа 1С, через FTP на сервер можно несколькими путями. Также вы можете создавать на ресурсе и новые файлы, формируя их программно – этот вариант отлично подойдет для ведения логов. Простые примеры алгоритма выгрузки данных из 1С на FTP создания файлов на сервере:
-
Сформировать имя временного файла;
Также необходимо знать, как работать с каталогами на сервере через FTP. Существуют следующие основные операции:
- Переименование папки или перемещение файла. Для последнего необходимо прописать путь вместе с именем и расширением файла:
В платформе 8.3 существуют все возможности, чтобы организовать обмен данными через FTP прямо из 1С. Помните, что для стабильной работы правильно написанного кода в 1С мало. Необходим доступ к серверу и настройка прав для учетной записи, от которой запускают 1С. После этих действий ничего не помешает вам настроить синхронизацию данных 1С через FTP-протокол.
Читайте также: