Постоянные перезагрузки роутера – решение

Типичная ситуация: купили WiFi роутер, правильно настроили его, но раз или два в месяц устройство перезагружается. На первый взгляд кажется, что «виновато» в этом плохое качество оборудования, либо повышенная нагрузка на него. Но, даже принудительно понизив число соединений и снизив скорость трафика, решить проблему не удаётся.

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

Противодействуем паразитному трафику сами

Итак, причину проблем мы определили – это наличие IP-пакетов, поступающих из «внешки» на роутер, но притом совершенно не нужных пользователю. Иногда такой трафик организуют специально (подобные атаки носят название DDOS). Специально или случайно на WAN-порт направляют паразитные пакеты, нам знать не обязательно. Лучше понять, как от них избавиться.

Атаки DDOS
Схема циркуляции IP-пакетов

Боремся против DDOS, OpenWRT

Наиболее развитый набор опций, способствующих отслеживанию паразитного трафика, предусмотрен в прошивках OpenWRT. Кое-что можно задействовать из графического web-интерфейса, но все существующие настройки доступны через конфигурационные файлы, и никак не иначе. Если Вы не знакомы с тем, как менять параметры в файлах – не беда, можно попробовать правильно настроить файерволл. Для чего в разделе интерфейса «Network» предусмотрена вкладка «Firewall» –> «General Settings»:

Вкладка «Firewall» – «General Settings»
Основные параметры файерволла OpenWRT

Установите две галочки, расположенные в блоке «General Settings» сверху, и сохраните настройки (Save).

Все параметры файерволла записаны файле «etc/config/firewall». Если в этом файле выполнить поиск и замену слова «REJECT» на слово «DROP», мы получим идеальный роутер, не пропускающий в «локалку» ничего лишнего. Есть ещё более радикальный способ избавить себя от паразитного трафика. В файле /etc/sysctl.conf нужно поменять четыре следующих параметра:

  1. Параметр «net.netfilter.nf_conntrack_max» должен получить значение 4096
  2. В подгруппе net.netfilter найдите ещё одну настройку, «nf_conntrack_udp_timeout_stream», и установите значение 180
  3. Параметр «nf_conntrack_udp_timeout» в этой же подгруппе должен стать равным 60
  4. «nf_conntrack_tcp_timeout_established» установите в значение 600.

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

Значения параметров, которые приведены выше, противоречат требованиям RFC 5382. И всё же, такой совет сам по себе появиться не мог – его действие проверено на практике, и н у одного десятка пользователей. В общем, финальный выбор оставляем за Вами.

Web-интерфейс D-Link, противодействие DDOS

В роутерах D-Link все функции, способствующие блокировке паразитного трафика, настраиваются на вкладке «Advanced» –> «Firewall Settings»:

Вкладка «Firewall Settings»
Вкладка параметров файерволла роутера

Задействовав функцию под названием «SPI», Вы заставите роутер отслеживать, соответствует ли трафик, передаваемый в течение сеанса связи, используемому целевому протоколу. Протокол может быть таким: HTTP, FTP, и так далее. Вряд ли стоит объяснять, почему на роутере, оснащенном медленным процессором, функцию SPI нужно задействовать далеко не всегда.

В блоке «NAT Endpoint Filtering» доступны следующие опции:

  • «Endpoint Independent» – входящий трафик, идущий на порт N одной из локальных машин, не должен прерываться больше, чем на 5 минут. После 5-тиминутной «паузы» порт N блокируется (становится недоступен).
  • «Address Restricted» – пусть приложение подключается к внешнему серверу, используя определенный порт (N). Речь идёт о порте самого приложения, а не сервера. Приложение установлено на определённой локальной машине (X), так вот, любые входящие пакеты с целевым портом N будут отправлены на хост X, и ни на какой другой. Подобное ограничение выглядит существенным, но это – не проблема для тех, кто сможет правильно настроить программы, установленные на каждом из локальных хостов.
  • «Port and Address Restricted» – допустим, с одной из локальных машин из внешней сети было установлено соединение, использующее порт N. Тогда, любые запросы с других внешних IP, приходящие на порт N этого же локального хоста, будут блокироваться. Данная опция не совместима с большинством современных игровых сервисов (хотите играть – не используйте её).

В интерфейсе D-Link указанные опции задействуются отдельно для протокола TCP и для UDP. По умолчанию, как ни странно, для TCP выбрано «Port and Address Restricted», вот почему сетевые игры могут терять соединение.

Продолжаем рассматривать вкладку «Firewall Settings». Галочка «anti-spoof checking» предусмотрена затем, чтобы защитить пользователя от атак определённого вида. Тут речь идёт о специально организованных атаках, в которых имитируется соединение с сервером. По умолчанию эта защита отключена, что и понятно: «спуфинг» может использоваться лишь в профессионально организованных DDOS-атаках. Выбор сделайте сами.

Файерволл SifoWorks, функция Anti-DDOS