Недавно я писал о переходе к интернет-провайдеру Онлайм. После полутора месяцев работы впечатления остаются положительными. Разрывов со стороны провайдера пока не наблюдал. Однако хочу поделиться немного негативным опытом установки маршрутизатора.
Вначале у меня был подключен лишь один домашний компьютер, и все работало как часы. Когда понадобилось подключить второй, решил купить недорогой простенький маршрутизатор без Wi-Fi и прочих излишеств. Однако поленился почитать обзоры и положился на доброе имя Zyxel - об их продукции слышал всегда только хорошие отзывы. Особенно в плане надежности. Забегая вперед, скажу, что как раз с точки зрения надежности нареканий никаких не возникло. Я купил недорогой маршрутизатор Zyxel P-334 EE.
Так как в Онлайм все настройки TCP-IP автоматические, подключение маршрутизатора ожидало быть простейшим - включил и работает. В принципе все так и было.
Необходимо лишь было в целях безопасности сменить пароль для доступа к управлению устройством.
Но на всякий случай я решил запустить визард для первоначальной настройки. Как и ожидалось, предложенные параметры по умолчанию были верными - автоматический IP, DNS, DHCP-cервер. Единственное, что пришлось поменять - это настройку часового пояса, синхронизация времени была выполнена автоматом.
Проверка соединения на первом компьютере прошла успешно. На втором вначале тоже все было хорошо. Однако через некоторое время связь пропала - вначале на первой машине, потом и на второй. Затем все восстановилось. Так, с переменным успехом, повторялось несколько раз. Давно и обоснованно ненавижу нестабильно воспроизводимые проблемы, поэтому приготовился к худшему.
Лог маршрутизатора был завален одинаковыми сообщениями вида: "192.168.1.34 exceeds the max. number of session per host!". У меня, к сожалению, не сильно большой опыт тонких сетевых настроек, но базовые вещи знаю, поэтому открыл подробное руководство (к чести Zyxel это 366 страниц!), где нашел объяснение проблемы в списке сообщений об ошибках. Пояснение говорило о том, что превышен лимит NAT-сессий на один хост, и таблица переполнилась.
Надо сказать, что предварительно, до выяснения причин, я на всякий случай позвонил в Онлайм в надежде, что проблема известна. Первый раз попал на девушку-оператора, которая все время с кем-то консультировалась, и в результате ничего прояснить не смогла. Она лишь подтвердила, что все настройки должны быть автоматическими. А инструкция у них была лишь для каких-то их собственных устройств.
Тогда я стал искать примеры настройки данного маршрутизатора для других провайдеров и нашел подробные руководства для Корбины (плюс второе на официальном сайте Zyxel) и Акадо. Честно говоря, необходимость бета-версии прошивки для Корбины несколько насторожила. Однако у них там сложные заморочки с VPN, поэтому решил, что ко мне это не относится.
На всякий случай я воспользовался удобной функцией клонирования MAC-адреса, предположив, что Онлайм привязывает к нему подключение. Однако, повторный звонок в техподдержку опроверг это предположение. Также подозрение пало на встроенный в Windows XP файрвол - были случаи, что у людей из-за него не сохранялись настройки маршрутизатора. Но, похоже, все сохраняется корректно как с включенным файрволом, так и без него.
Перечитав описания всех возможных проблем, я не нашел ничего подозрительного. Продолжив поиск, наткнулся на статью с названием "Секреты Zyxel P-334, VPN и Torrent". И тут вспомнил, что все это время у меня на обоих компьютерах были запущены torrent-клиенты. Дело оказалось в них. Размер таблицы NAT для моего маршрутизатора по умолчанию выставлен в 256 сессий на один хост, поэтому при большом количестве закачек, да еще с двух компьютеров таблица мгновенно переполнялась и, естественно, связь пропадала. Увеличить размер таблицы можно было лишь до 1024 на хост (общий размер 2048 адресов). Делается это через консоль командой ip nat session 1024. На сайте Zyxel в разделе FAQ это описано.
Однако увеличение таблицы почти ничего не дало - она переполнялась лишь на несколько секунд позже. Тогда я ограничил максимальное общее число подключений для одного торента до 64 (было, кажется, 500) и количество закачек до 8. И проблема исчезла. Однако не совсем - периодически при большом числе раздающих в логе маршрутизатора все же появляются записи о переполнении, однако таблица быстро очищается и разрыв связи практически незаметен. Почему это происходит - сказать трудно. Скорее всего, uTorrent некорректно закрывает соединение, прежде чем открыть новое или держит его открытым какое-то время. При частом переключении между закачками это, возможно, и приводит к переполнению. Сисадмин с работы посоветовал поставить сторонний файрвол и ограничить в нем число соединений для торента (встроенный, вроде, это не умеет). Попробую в ближайшее время.
Еще одна интересная деталь. Если не делать перенаправление портов для торента, то он все же как-то работает (не знаю, как), хотя раздает значительно хуже. После перенаправления раздачи идут активнее, но, что естественно, связь рвется чаще из-за переполнения таблицы NAT. Я пока закрыл порт и наблюдаю за объемом отдачи. Если она останется на приемлемом уровне, то так и оставлю.
Еще хочу сказать, что техподдержка Zyxel ничего дельного не смогла порекомендовать, из чего я делаю вывод, что просто купил бюджетный маршрутизатор (его цена около 1500 рублей), который, по их мнению, не обязан работать под такой нагрузкой и иметь большие возможности настройки. Косвенно это подтверждается тем, что их инженер сказал, что при большой нагрузке с большим числом подключений не справляется уже процессор раутера, поэтому разрывы связи могут быть и из-за этого. Он предположил, что на профессиональных моделях ценой от 10 тысяч рублей все должно работать. Однако, интересный момент - на еще более дешевом ADSL-маршрутизаторе Asus AM-604 в Стрим у меня не было подобных проблем с торентами. Правда, там был канал всего 2 мегабита против нынешних 10, но, думаю, проблема все же именно в данной модели Zyxel. Нашел, кстати, интересный опыт человека, пытавшегося на Zyxel 334 прописать рауты для локальной сети в Корбине. Особенно интересен результат :)
И последнее, что я сделал в настройках - отключил Trend Micro Security Services. Там есть несколько разных видов защиты, включая антивирус. Все это я отключил и оставил только штатный файрвол Zyxel. По отзывам так скорость быстрее, хотя я особо не заметил. А отключил еще из-за того, что постоянно выскакивало всплывающее окошко с сайтом trendmicro.com, и другого способа избавиться от него не нашел.
В целом впечатления от маршрутизатора неоднозначные. Пока что все работает, но медленнее, чем при прямом подключении входящего в квартиру кабеля к сетевой карте одного компьютера. Не хочется тратить деньги на что-то более дорогое, тем более, что для ADSL я уже 2 раза менял модемы - первый был Zyxel OMNI ADSL c подключением по USB (понадобился Ethernet), а второй D-Link 504T, у которого были постоянные разрывы со Стрим-ТВ. Купленный затем Asus AM-604 работал стабильно.
Всем желаю поменьше проблем с оборудованием. Если я в чем-то не разобрался и у кого-то все работает хорошо на 10 мегабитах с данным маршрутизатором, был бы рад, если укажете на решение.
***
А теперь приведу ответы, полученные после публикации этой статьи на Хабре. Ответы сгруппированы по темам, оставлена только суть.
1. Смена раутера не гарантирует решения проблемы с торентами
Рабочие примеры
- Asus wl-500gP, запущены php, mysqld, lighttpd и knockd+sshd поднимается и держится около 2000+ одновременных сессий без потерь скорости.
- Рекомендую ASUS WL-500(gP,W). Лучше роутера за приемлемые деньги я еще не видел. Перешл на него с P330, который не мог держать l2tp на корбине выше 10-12 мбит. Асус выдает положенные 25. С последней прошивкой обещают 25 и на P330.
- У меня Zyxel P330 EE отлично принимал и отдавал 8000 Кбайт/сек.
- На P330 максимальная скорость 2.8 Мбайта/сек. Firmware P-330W_EE_V3.60(AMJ.2)D0.
У кого-то 500 Кбит, у кого-то - 20 Мбит - как повезет. - Оптимальный вариант - роутер на который встанет прошивка DD-WRT. Никаких проблем не замечено. Zyxel не поддерживается.
Нерабочие примеры
- У меня Linksys, тот который легенда - WRT54GL. Есть и pptp и l2tp и скорость проседает конкретно. Железо самое обычное, качество исполнения только на высоком уровне.
- У меня похожая ситуация с D-Link DSL-2640U - начинают рваться активные соединения при работе торента. Хотя процессор загружен менее 3%. С D-Link как повезет, у кого-то работают годами, у кого-то глючат все время.
Вывод. Смена раутера не гарантирует решения проблемы. Одни и те же раутеры у кого-то работают отлично, у кого-то тормозят и зависают. Дело может быть в прошивке, в настройке и в сценарии использования.
2. Может быть, дело в бюджетности?
- Железка за 1к много не выдержит, потому что она стоит 1к. Проц с частотой 200мгц и 8Мб оперативки этому не способствуют.
- Купили маршрутизатор за 1500 руб. и требуете от него скорости и параллельной обработки тысяч соединений. Нелишне настроить компьютеры в соответствии с возможностью маршрутизатора (про настройки ниже).
- Вы делаете выводы о качестве оборудования, которое, очевидно, подобрали не по потребностям.
- Все эти недо-маршрутизаторы для дома и малого офиса имеют очень низкую производительность на железном уровне. Прошивки же и встроенные брандмауеры в них всегда настроены таким образом что бы любыми средствами оградить хилые чипы от большого количества пакетов. Они рассчитаны на сеть из 5-6 машин, которые вяло серфят по сайтам, ничего особо не качают и тем более не раздают торенты по сотням сессий.
- Как человек имеющий опыт работы в провайдерстве скажу вам: Zyxel-и неплохие модемы в плане качества изготовления. Но не производительностью ни функциональностью они ничем не лучше конкурентов, а иногда и уступают им.
- Обратите внимание на Linksys - это дочерняя марка Cisco для домашнего и офисного использования. Немного дороже остальных, но разительно лучше.
С тем что разительно лучше - это вы загнули. Как правило базовый функционал прошивки Linksys не подразумевает наличия L2TP или PPTP, а без него - любая железка работает отлично. Если на Linksys повесить прошивку типа DD-WRT, то появится L2TP и PPTP, но скорость упадет в разы. Это не голословный базар - у самого дома два линксисовских роутера.
Не соглашусь, железо там не "разительно лучше". Вполне себе обыденное для роутеров. Но зато они действительно качественный и стабильные.
- Вы тут намекаете на дешевизну девайса как корень зла. Смею уверить, что значительно более дорогие железки от Zyxel (Zywall с 5-ой по 70-ую) страдают подобной болезнью. C торентами не дружат напрочь.
- Вопрос: Не лучше было бы, если бы производители оборудования взяли за правило тестировать свои изделия в реальных условиях?
Ответ от сборщика: все чип мейкеры, которые предоставляют также референс дизайн плат, ориентируются не на конечного потребителя, а на вендоров железа, таких как D-Link, Asus и т.д. Вот тут и кроется проблема всего ОЕМ, потому как в цепочке потребитель - производитель, есть дополнительные звенья, которые ухудшают фидбек и препятствуют принятию некоторых решений.
Вывод. Зависания и тормоза бывают у далеко не бюджетных моделей. Похоже, у Zyxel это наблюдается чаще, независимо от цены. Остается только экспериментировать с настройками соединений.
3. Предложенные параметры настройки
- При работе с торентами в Zyxel-ях (да и прочих роутерах) нужно в первую очередь отключить защиту от DDoS-атак. Если роутер нормальный - то после этого все будет работать хорошо.
- Для снижения нагрузки с роутера прописать на машинах DNS-серверы провайдера, а не роутера.
- Если провайдер поддерживает L2TP - то лучше перейти на него. PPTP более ресурсоемок в этом отношении. (если корбина - не торопись это делать, так как они на l2tp пересадили кучу народа, из-за чего их bras-ы стали тормозить; у меня на тарифе 13000 скорость была в среднем 2000; из-за этого даже пришлось временно менять Cisco-роутер на D-Link 804).
- Постарайтесь отключить всякие ненужные феньки в роутере (типа псевдоантивируса и якобыбезопасности).
- Если роутер это позволяет - то стоит настроить таймаут NAT-трансляции. Сделать его поменьше, например минуту. Чтобы роутер не отслеживал сдохшие коннекты. Почитать про полуоткрытые соединения.
- Ограничить число одновременно поддерживаемых соединений величиной 5 - максимум 20 соединений.
- Ограничить число т.н. "полуоткрытых" соединений величиной 3 - максимум 10 соединений.
- Задать максимальное число попыток соединений в секунду величиной порядка 1 - максимум 5 соединений в секунду.
- Если CPU перегружен пакеты будут дропаться без занесения лога в консоль.
- Роутер должен работать в режиме DHCP-клиента для получения собственного внешнего IP-адреса от провайдера. Плюс, он может работать в режиме DHCP-сервера, раздавая IP-адреса приватной сети для локальных компьютеров. DNS-сервера можно прописать на компах вручную, даже если IP-адреса они получают автоматически. Они как правило не меняются. Провайдеры реализуют DHCP сервис - им дешевле, чтобы запросы оставались в пределах их сети, не создавая трафика, за который уже они платят магистральному провайдеру.
Однако, это не значит, что вы не имеете права использовать любые другие DNS. - Мне почти не помогает ограничение общего числа соединений. Может, я что-то не так делаю? Клиент uTorrent.
Ну да, от модема это все-таки зависит, вернее от его прошивки. Именно в смысле размера таймаута. Если нет желания менять прошивку, поищите что можно сделать с опциями на роутере в файлах /proc/sys/net/ipv4/netfilter/ip_conntrack_*.
- Про port forwarding: P2P трафик будет хуже раздаваться если вы не сделаете перенаправление порта потому, что удаленный P2P клиент не сможет инициировать соединение с вашим клиентом напрямую. Но торент клиенты вполне себе качают без перенаправления портов. По спецификациям, клиент может не только ждать входящих соединений, но и сам инициировать их с нужными пирами. Скорость может быть ниже, но не обязательно. 100мбит/с по я так получал легко.
Вывод. Я попробовал почти все предложенные настройки - раутер все равно периодически падает по переполнению NAT. Даже без проброса портов (число соединений в этом случае меньше). Я так и не получил ответа, что такое полуоткрытые соединения в торенте и где они настраиваются. Думаю, что дело в них - они копятся и вызывают переполнение.
4. Принципиально другие решения
- Я проблему двух машин в одной квартире решил с помощью второй сетевой карты в одном из компов и NAT'ом встроенным в Windows - один раз настроил и забыл - работает как часы.
- Мы юзали вот такое (10000 рублей под заказ). 3 сетевухи Realtek на борту, FreeBSD с IPF на флешке. Проц VIA 633 мгц c пассивным охлаждением, планка памяти SDRAM 256 мб. Железка держала на себе сеть в 200 компов населенных броадкаст чатами и вирями от которых даже циске плохело. Купить можно здесь. Для дома - изумительная штука. В комплект входит рамка для крепления 2.5 винта. Качать торенты и держать дома небольшой web-сервер с личным блогом самое оно. Ни одного вентилятора, тишина как в могиле, места занимает чуть. Есть версии и с более производительными виашными процами, но они уже с вентилятором. Безкуллерный VIA 633 равен приблизительно P II 350 по производительности.
- Насчет дополнительных сетевушек - 10 мбит usb-ethernet брелки по 600 рублей.
- Была такая же проблема решил её с помощью Linux роутера на дебиане. Простоте настройки даже я сам удивился.
Вывод. Самосборный софтовый раутер в mini-ITX корпусе - более гибкий и мощный вариант, но и более дорогой. Как дешевый вариант - использовать один из компов сети как раутер - он должен быть постоянно включен. Настройка элементарная как под Windows, так и под *nix.
Общий вывод
Комментарии прояснили ситуацию, но предложенные решения по настройке не помогли. Придется либо пробовать Asus WL-500 gP (покупать уже 5-й раутер!), либо собирать самому на mini-ITX, либо ставить вторую (при необходимости, третью) сетевую карту на одном из рабочих компьютеров - это будет самый дешевый из трех вариантов.
Ну вот буквально вчера я обнаружил на своем Zyxel P-330W EE (старенькая модель), который купил без штудирования рынка таких вот небольших роутеров, такую же историю. При включенном transmission и раздаче 25 файлов одновременно, пинги скачут от 10 мс (нормальный пинг, который должен быть) до 600-800 мс с потерями пакетов. Через этот роутер в инет и локальную сеть выходят два компутера (мой и ноут подруги). Как только выключаю торрент-клиент, пинги сразу нормализуются.
В общем... нужно искать альтернативу. Zyxel разочаровал. Сначала разочаровал после вашей истории, теперь вдвойне - после моей.
p.s. как хорошо, что в свое время не купил коммутатор Zyxel в центр своей сети за 20 тыщ. Чувствую, плевался бы сейчас...
Я пока не теряю надежду, что это можно вылечить.
Изучаю вот эту ветку на iXBT и обсуждения на Корбине. Ну и в комментариях к этой статье на Хабре (я ее выложил здесь) много советов, правда, ни один пока не помог :) Интересно, что статья вышла в тот день на второе место по популярности по версии FeedMe - см. скриншот здесь. Видать, не у меня одного такая проблема :)
Продолжаю поиски, хотя, наверное, скоро соберу самодельный раутер на чем-нибудь типа такого :)
ZakharS. объясни мне, пожалуйста, как ты все таки его настроил, этот долбанный зюксель. у меня 330
у меня компы не видят сеть беспроводную...
можно на почту, если не сложно) funkygirl@bk.ru
334-й - это обычный проводной роутер. Там, в принципе, ничего и настраивать-то не надо, если не оптимизировать - работает после первого включения на два компа. Провайдер у меня все автоматом выдает. Для верности можно сменить пароль и запустить визард первичной настройки, согласившись со всеми параметрами по умолчанию.
А вот дальнейшая головная боль была именно со скоростью и стабильностью работы. В результате я его выбросил и сделал программный роутер на двух сетевушках.
С беспроводным соединением я сам всегда мучаюсь - как-то там все всегда неочевидно :)
Мужики!
учите английский! нет в нем таких слов, как рАутер или рОутер.
То о чем вы говорите и пишите произносится как рУтер.
т.е. и root и route, произносится одинаково.
Спасибо. Мне самому не нравится произношение. Но как-то так сложилось, что все вокруг называют с "а" или "о" :)
Отправить комментарий