PDA

View Full Version : доступ к FTP в passive mode


urfin
25-02-2008, 12:41
добрый нень!

подскажите как решить проблему с доступом к 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 (окно в правом нижнем углу, затем сохранить) и перезагрузил комп. После перезагрузки всё заработало.

Всем удачи.

iliuxa
05-03-2008, 09:26
ну а почему тогда все работает без роутера? если в винде не менять параметры MTU. В роутере пробовал оставлять поле Additional pppd options пустым, пробовал прописывать туда 1460, 1400, 1300 - результат одинаков.
комп подключен к роутеру по кабелю.

openstorm
05-03-2008, 09:43
Набери в роутере ifconfig ppp0 mtu 1400
Должно сразу помочь :)

iliuxa
05-03-2008, 15:22
а разве это не одно и тоже с Additional pppd options
потому как вписание MTU туда не помогает

iliuxa
05-03-2008, 20:12
ifconfig ppp0 mtu 1400
а где набирать - в систем команд? - набрал - ничего не изменилось

Oleg
05-03-2008, 20:41
Смысла менять на роутере нет никакого. У Вас в Windows, скорее всего стоит хитро..пый фаервол, который PMTU траффик не пропускает. При прямом подключении виндоус оказывается в курсе огранчений, т.к. сама их видит в ppp подключении.

PupsDRVR
05-03-2008, 20:47
ну а почему тогда все работает без роутера? если в винде не менять параметры MTU. В роутере пробовал оставлять поле Additional pppd options пустым, пробовал прописывать туда 1460, 1400, 1300 - результат одинаков.
комп подключен к роутеру по кабелю.

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

iliuxa
05-03-2008, 22:19
Смысла менять на роутере нет никакого. У Вас в 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, думаю, что всё получится :).

Oleg
06-03-2008, 08:00
да вообще никакого fw не стоит и виндовый отключен
PupsDRVR твой метод не для всех случаев подходит так как есть у меня сервер который на пинг не отвечает
а как подбирать значение mtu ? просто от балды или перебором, но с каким шагом?
на что может сказаться меньшее значение mtu чем то что винда по умолчанию выставила?

ps я всетаки склонен думать что есть баг в роутере так как MAC OSX 10.5.2 так же не может заливать на ftp в passive
Вы, кстати, так и не озвучили версию прошивки.

iliuxa
06-03-2008, 09:00
прошивка 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

Вы подбирали у себя значение? По какому сайту? Или просто от фонаря цифры подставляли? У меня подбор значения по тому алгоритму проблему решил. Если Вам не поможет, то помочь больше ничем не смогу.

iliuxa
06-03-2008, 13:02
я делал так
взял сервер который не работал - он кстати на соолокейшене в корбине
для него ввел 1400 - ругнулся, ввел 1350 заработал + еще некоторые заработали, а вот тот что стоит у друга за роутером не заработал.

PupsDRVR
06-03-2008, 13:10
я делал так
взял сервер который не работал - он кстати на соолокейшене в корбине
для него ввел 1400 - ругнулся, ввел 1350 заработал + еще некоторые заработали, а вот тот что стоит у друга за роутером не заработал.

Ясно. Надо точно выявить значение, например на 1350 работает, а на 1351 нет. Тогда выбрать значение 1350, оно поможет (это могут быть абсолютно любые значения, эти я привел для примера). FTP у друга за роутером на компе? Может у него он закрыт за NAT, порты не проброшены. Ещё откуда-нибудь пробовали туда заходить? У него внешний статический адрес? Не может быть такого, что вы к нему лезете снаружи на адрес локальной сети, а внешний ему назначается провайдером динамически? Зайти снаружи без особых усилий можно только при наличии статического внешнего ай-пи.

iliuxa
06-03-2008, 16:14
у него сервер сделан на G6 на компе за роутером, порты проброшены - стандартные + dhcp зафиксирован по мас для данного компа.
на роутере включен firewall в винде выключен. ip статический
78,107,250,*** но я так понимаю роутер не отвечает на команду ping
поэтому и не могу проверить размер пакета для его сервера.
PS если я подключаюсь к инету напрямую, без роутера то в пассиве к нему на сервак все прекрасно льется

mikail
07-03-2008, 22:57
Программа для изменения MTU - чтобы не править вручную реестр - можно найти тут _http://www.speedguide.net/downloads.php
Сейчас она уже называется TCP Optimizer, первая в списке там.
Скачал, запустил, на первой же странице сменил MTU несколько раз, помогло ровно 1300.

Спасибо! :)

PupsDRVR - Отдельное! :)))