View Full Version : доступ к FTP в passive mode
добрый нень!
подскажите как решить проблему с доступом к FTP серверу (ftp.narod.ru) в пассивном режиме.
если соединяюсь по схеме
(мой компьютер)->(роутер,PPTP)->(провайдер)->(ftp.narod.ru)
то соединение устанавливается, команда list работает, но загрузка на сайт отваливается по timeout
если соединяюсь по схеме
(мой компьютер,PPTP)->(провайдер)->(ftp.narod.ru)
то все работает как надо.
PupsDRVR
25-02-2008, 12:52
добрый нень!
подскажите как решить проблему с доступом к FTP серверу (ftp.narod.ru) в пассивном режиме.
если соединяюсь по схеме
(мой компьютер)->(роутер,PPTP)->(провайдер)->(ftp.narod.ru)
то соединение устанавливается, команда list работает, но загрузка на сайт отваливается по timeout
если соединяюсь по схеме
(мой компьютер,PPTP)->(провайдер)->(ftp.narod.ru)
то все работает как надо.
Присоединяюсь к вопросу, у меня такая же проблема с доступом по ftp на свой сайт, адрес вида ftp.MyDomen.ru. Даже если вместо имени указать ip адрес в чистом виде, то всё происходит также, никаких изменений. Заметил такую деталь, если внести изменения в IP Config - WAN & LAN в строку Additional pppd options:, не важно что, добавить или удалить, а потом перезагрузить роутер, то с самого начала после установки соединения всё работает правильно и быстро. Если отключиться от сайта, а потом зайти заново, то загрузить ничего не получается, скорость на глазах падает до нуля. Провайдер Корбина.
PupsDRVR
26-02-2008, 09:54
Хороший человек помог ссылку найти на обсуждение (http://wl500g.info/showthread.php?t=12151&highlight=ftp+mtu) и разбор полетов (http://imho.ws/showthread.php?t=127652). Такое не помешает в ФАК добавить.
Вообщем, у меня вопрос решился следующим образом, сразу скажу, что файерволлы были не при чем, ровно как и настройки роутера.
При помощи команды в строке CMD под windows
ping -l значение -f ftp.narod.ru
Вычислил размер MTU, у меня это значение равно 1044, вместо ftp.narod.ru использовал адрес своего сайта. При большем значении требовалось фрагментация пакета, при 1044 и меньше пинг проходил нормально, показывая время (TTL). Потом при помощи программы DRTCP021.exe установил значение MTU=1044 (окно в правом нижнем углу, затем сохранить) и перезагрузил комп. После перезагрузки всё заработало.
Всем удачи.
ну а почему тогда все работает без роутера? если в винде не менять параметры MTU. В роутере пробовал оставлять поле Additional pppd options пустым, пробовал прописывать туда 1460, 1400, 1300 - результат одинаков.
комп подключен к роутеру по кабелю.
openstorm
05-03-2008, 09:43
Набери в роутере ifconfig ppp0 mtu 1400
Должно сразу помочь :)
а разве это не одно и тоже с Additional pppd options
потому как вписание MTU туда не помогает
ifconfig ppp0 mtu 1400
а где набирать - в систем команд? - набрал - ничего не изменилось
Смысла менять на роутере нет никакого. У Вас в Windows, скорее всего стоит хитро..пый фаервол, который PMTU траффик не пропускает. При прямом подключении виндоус оказывается в курсе огранчений, т.к. сама их видит в ppp подключении.
PupsDRVR
05-03-2008, 20:47
ну а почему тогда все работает без роутера? если в винде не менять параметры MTU. В роутере пробовал оставлять поле Additional pppd options пустым, пробовал прописывать туда 1460, 1400, 1300 - результат одинаков.
комп подключен к роутеру по кабелю.
Потому что это глюк виндов, а не роутера. Провайдер принимает пакеты любого размера, а роутер нет. Почитайте внимательно мой пост выше, где описано решение, ссылки все гляньте, там же есть всё.
Смысла менять на роутере нет никакого. У Вас в Windows, скорее всего стоит хитро..пый фаервол, который PMTU траффик не пропускает. При прямом подключении виндоус оказывается в курсе огранчений, т.к. сама их видит в ppp подключении.
да вообще никакого fw не стоит и виндовый отключен
PupsDRVR твой метод не для всех случаев подходит так как есть у меня сервер который на пинг не отвечает
а как подбирать значение mtu ? просто от балды или перебором, но с каким шагом?
на что может сказаться меньшее значение mtu чем то что винда по умолчанию выставила?
ps я всетаки склонен думать что есть баг в роутере так как MAC OSX 10.5.2 так же не может заливать на ftp в passive
PupsDRVR
06-03-2008, 07:03
да вообще никакого fw не стоит и виндовый отключен
PupsDRVR твой метод не для всех случаев подходит так как есть у меня сервер который на пинг не отвечает
а как подбирать значение mtu ? просто от балды или перебором, но с каким шагом?
на что может сказаться меньшее значение mtu чем то что винда по умолчанию выставила?
ps я всетаки склонен думать что есть баг в роутере так как MAC OSX 10.5.2 так же не может заливать на ftp в passive
Открою маленький секрет, размер MTU для всех FTP-серверов, на которых умирает upload, одинаковый. Настроив для одного, получите работу со всеми. Я пинговал той командой свой сервер, пинговал ftp.narod.ru - результаты были одинаковые. Так что попробуйте определить это значение при помощи ftp.narod.ru, думаю, что всё получится :).
да вообще никакого fw не стоит и виндовый отключен
PupsDRVR твой метод не для всех случаев подходит так как есть у меня сервер который на пинг не отвечает
а как подбирать значение mtu ? просто от балды или перебором, но с каким шагом?
на что может сказаться меньшее значение mtu чем то что винда по умолчанию выставила?
ps я всетаки склонен думать что есть баг в роутере так как MAC OSX 10.5.2 так же не может заливать на ftp в passive
Вы, кстати, так и не озвучили версию прошивки.
прошивка 1.9.2.7-8.21
до этого стояла 1.9.2.7-8 и была таже проблема
PupsDRVR
не совсем уверен на счет одинакового значения всех не аплоад фтп
потому как пару серверов работают с 1350 а один, который не отвечает на пинг, так на аплод и не работает - он кстати тоже в корбине
находиться за WL-500gp с прошивкой 1.9.2.7-8
PupsDRVR
06-03-2008, 12:51
прошивка 1.9.2.7-8.21
до этого стояла 1.9.2.7-8 и была таже проблема
PupsDRVR
не совсем уверен на счет одинакового значения всех не аплоад фтп
потому как пару серверов работают с 1350 а один, который не отвечает на пинг, так на аплод и не работает - он кстати тоже в корбине
находиться за WL-500gp с прошивкой 1.9.2.7-8
Вы подбирали у себя значение? По какому сайту? Или просто от фонаря цифры подставляли? У меня подбор значения по тому алгоритму проблему решил. Если Вам не поможет, то помочь больше ничем не смогу.
я делал так
взял сервер который не работал - он кстати на соолокейшене в корбине
для него ввел 1400 - ругнулся, ввел 1350 заработал + еще некоторые заработали, а вот тот что стоит у друга за роутером не заработал.
PupsDRVR
06-03-2008, 13:10
я делал так
взял сервер который не работал - он кстати на соолокейшене в корбине
для него ввел 1400 - ругнулся, ввел 1350 заработал + еще некоторые заработали, а вот тот что стоит у друга за роутером не заработал.
Ясно. Надо точно выявить значение, например на 1350 работает, а на 1351 нет. Тогда выбрать значение 1350, оно поможет (это могут быть абсолютно любые значения, эти я привел для примера). FTP у друга за роутером на компе? Может у него он закрыт за NAT, порты не проброшены. Ещё откуда-нибудь пробовали туда заходить? У него внешний статический адрес? Не может быть такого, что вы к нему лезете снаружи на адрес локальной сети, а внешний ему назначается провайдером динамически? Зайти снаружи без особых усилий можно только при наличии статического внешнего ай-пи.
у него сервер сделан на G6 на компе за роутером, порты проброшены - стандартные + dhcp зафиксирован по мас для данного компа.
на роутере включен firewall в винде выключен. ip статический
78,107,250,*** но я так понимаю роутер не отвечает на команду ping
поэтому и не могу проверить размер пакета для его сервера.
PS если я подключаюсь к инету напрямую, без роутера то в пассиве к нему на сервак все прекрасно льется
Программа для изменения MTU - чтобы не править вручную реестр - можно найти тут _http://www.speedguide.net/downloads.php
Сейчас она уже называется TCP Optimizer, первая в списке там.
Скачал, запустил, на первой же странице сменил MTU несколько раз, помогло ровно 1300.
Спасибо! :)
PupsDRVR - Отдельное! :)))