Файлообменная сеть DC++: проблемы со скачиванием и поиском

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

Симптомы обычно такие: вы ставите файл (или список файлов) на закачку, ждёте, ждёте, ... а ничего не происходит, а потом DC пишет про "таймаут соединения":

[Скриншот]

Помните, что правильная настройка самого DC-клиента ещё не означает правильной настройки системы, сети и других приложений, которые могут влиять на DC++.

Вариантов проблем тут по сути всего три (первый — наиболее частый):

  • Неправильно настроен межсетевой экран (файерволл, брэндмауэр, антивирус или любое другое средство сетевой защиты) у вас или у другого пользователя, и он просто блокирует сетевое соединение. в этом случае внимательно читайте данную страницу.
  • Неправильно настроен DC-клиент у вас (или у того, у кого вы качаете файлы). Возможны случаи, когда вы при неверных настройках системы, сетевых экранов и т.д. вы можете что-то скачать у другого юзера, а он у вас — нет. Рекомендуем ещё раз ознакомиться с разделом настройки DC-клиента. Если не качается вообще ни у кого, значит скорее всего проблема именно у вас, а не у других.
  • Соединение по локальной сети между двумя данными пользователями (или сегментами сети) заблокировано провайдером. В этом случае повлиять на ситуацию Вы не можете, просто считайте что данный юзер вам недоступен и воспринимайте это как данное свыше.

Правильные сетевые настройки DC-клиента

Если у вас не прямое подключение компьютера к сети, а через роутер (маршрутизатор), то настройки могут отличаться. А если у вас провод от провайдера втыкается прямо в комп, то проверьте, что у вас включен активный режим передачи файлов (Файл — Настройки — Настройки соединения):

[Скриншот]

Остальные настройки DC++ на сетевые соединения никак не влияют. Так что если у вас тут всё выбрано как на картинке, значит проблема наверняка не в настройка клиента (то есть, читайте дальше).

Межсетевые экраны, антивирусы и их влияние на работу DC++

Ниже перечислено то, что может отрицательно влиять на работу DC++.

  • Программные firewall-ы (фаерволлы, брендмауэры, межсетевые экраны) — программы для защиты от атак из сети.
  • Брендмауэр Windows.
  • Анти-вирусы, анти-руткиты и прочие аналогичные программы
  • Аппаратные firewall-ы — "железная" сетевая защита, встроенная в сетевые платы и т.д.

Если вы не знаете, что это такое, ниже приведен перечень популярных программ такого типа:
Антивирусы: Касперский (Антивирус, АнтиХакер, Internet Security), Eset NOD32, Symantec (Norton AntiVirus, Internet Security), Trend PC-Cillin, Avira Avast, DrWeb, McAfee Antivirus, Panda.
Firewall-ы: Outpost, WinGate, UserGate, WinProxy, WinRoute, ZoneAlarm, Comodo.
Что же касается аппаратных firewall-ов, пока нам известен только nVidia firewall, встроенный в материнские платы на чипсетах nVidia N-Force. Как его отключить читайте руководство по материнской плате.

Как быть, если у вас есть перечисленные программы или им аналогичные? Для начала вы можете попробовать полностью их отключить или настроить так, чтобы они не блокировали сетевые соединения (либо совсем все, либо те, которые создаются приложением DC++. Даже если вы боитесь отключать защиту — вы можете сделать это временно и проверить, что причина того, что DC++ не работает, была именно в данной программе. Причем подойдите к вопросу творчески, поэкспериментируйте с настройками вашего фаерволла или антивируса и добейтесь того, чтобы он не блокировал DC.

К сожалению, опыт говорит о том, что такие антивирусы, как NOD32 и Norton (Symantec) Internet Security обладают следующим неприятным свойством: даже полное их отключение (а в некоторых случаях — деинсталляция) на самом деле полным не является и всё равно создаёт помехи в работе DC++. Способов борьбы с этим (кроме самых радикальных вроде переустановки чистой системы) нам пока неизвестно. Причины кроются в некорректной работе этих программ и/или их деинсталляторов, повлиять на которые у пользователя возможности нет.

Для подключения к хабу в DC++ обычно используется 411 TCP-порт (зависит от настроек самого хаба, но на большинстве хабов он именно такой). В активном режиме DC++ использует многие порты для соединений с юзерами; в режиме ручного перенаправления — только тот порт, который указан в настройках.

Если НИЧЕГО из перечисленного не помогает:

Остаются только радикальные меры: переустановить "чистую" винду без лишних программ защиты. Многим пользователям оно кстати совершенно не повредит. Поверьте, потратить даже три часа на полную переустановкиу системы — это быстрее, чем три дня искать причину неработоспособности чёрт знает в какой программе. При том не советуе пользоваться "самосборками" Windows — они тоже бывают весьма "кривые", и гарантировать бесперебойную работу DC на этих системах вам никто не будет (благо опять-таки, есть печальный опыт наступания пользователей на эти грабли).

[Скриншот]

Разумеется, те же самые 2 порта (2000 TCP и 2000 UDP) должны быть разрешены на вход/выход в настройках фаерволла.

Подробное описание многих файрволлов (немного старое, но не потерявшее актуальности) и их настройки есть в интернете вот здесь.

Настройка брэндмауэра Windows

Встроенная сетевая защита ОС Windows XP SP2, Windows 2003, Windows Vista настраивается достаточно просто — достаточно добавить FlyLinkDC.exe в список исключений брендмауэра. Обычно при первом запуске DC++ система спросит вас, разрешать или не разрешать соединения:

[Скриншот]

В Vista сообщение выглядит иначе:

[Скриншот]

Нажимаете кнопку Unblock (Разрешить). Тем самым вы добавите DC++ в список исключений. Если вы этого не сделали при первом запуске, можете сделать это в лббой момент: зайдите в Панель управления/Control Panel, Центр обеспечения безопасности/Windows Security Center, Брэндмауэр/Windows Firewall — и там на вкладке "Исключения" добавьте FlyLinkDC.exe. Вот соответствующие картинки: (нажмите на них для увеличения):

После этого всё должно работать.