Альтернативная прошивка для домашних роутеров

Стоп. Не спешите. Основная масса неполадок в работе маршрутизаторов связана с прошивкой. И если производитель не торопится исправлять свои недоработки, откажитесь от его услуг. Альтернативная прошивка для роутера DD-WRT превратит даже скромный и недорогой девайс в полноценный сервер с операционной системой на ядре Linux. Она раз и навсегда устранит проблемы со связью и подарит вам то, что обычно покупают за немалые деньги.

ⓘ DD-WRT

DD-WRT — свободная альтернативная прошивка для ряда беспроводных маршрутизаторов, в основном потребительского класса, основанных на чипах BroadCom/Atheros/Xscale/Ralink. Первоначально была разработана для серии маршрутизаторов Linksys WRT54G и представляет собой встраиваемую операционную систему на основе ядра Linux. Распространяется под лицензией GNU GPL v2.

DD-WRT версий до v22 была основана на прошивке от Sveasoft, которая в свою очередь основана на оригинальной прошивке фирмы Linksys. DD-WRT версии v23 и выше имеют практически полностью переписанный код.

Специфические функции, не включённые в оригинальную прошивку, нашли поддержку в DD-WRT. К ним относятся Kai network, daemon-based сервисы, IPv6, Wireless Distribution System, RADIUS, возможности по разгону и поддержка аппаратных модификаций для SD-карт.

Возможности DD-WRT

Кто-то наверняка подумал: «зачем мне какой-то сервер, это сложно, хочу чего-нибудь попроще, да чтобы настроить побыстрее». Смею вас заверить, что беспокойства напрасны. Прошивка DD-WRT поддерживает русский язык и не более трудна, чем основная масса прошивок современных роутеров, хотя поначалу может показаться запутанной. Что, впрочем, неудивительно, ведь она очень, очень богата функциями.

Вот краткий список ее возможностей и преимуществ (полный приведен на официальном сайте):

  • Увеличение зоны покрытия беспроводной связью (в сравнении с родными прошивками большинства роутеров).
  • Подключение к Интернету любых устройств (компьютеров, мобильных гаджетов, TV и прочего, включая морально устаревшие девайсы).
  • Поддержка установки пользовательских пакетов приложений во встроенную память (JFFS2), на MMC/SD-карты и накопители USB.
  • Поддержка пользовательских скриптов.
  • Встроенный мультимедийный и файловый сервер.
  • Технология увеличения скорости связи Afterburner.
  • Оптимизация полосы пропускания.
  • Сервер и клиент OpenVPN .
  • Сервер и клиент PPTP (VPN)
  • UPnP.
  • IPTV – интернет-телевидение.
  • DDNS – динамические DNS на различных сервисах (DynDNS, No-IP, easyDNS и других).
  • DMZ – демилитаризованная зона.
  • VLAN – виртуальные локальные сети.
  • Ntop – наглядный анализатор сетевого трафика.
  • Wake On Lan – технология удаленного включения ПК.
  • Сервер и клиент Samba – общий доступ к файлам и принтерам из-под различных операционных систем.
  • FTP- и HTTP-серверы.
  • Планировщик заданий Cron.
  • DNS Forwarder – переадресация запросов на ДНС-сервер по выбору пользователя.
  • Clients Isolation – режим изоляции клиентских устройств, подключенных к точке доступа, от взаимодействия.
  • Ограничение доступа к выбранным сайтам и блокировка рекламы.
  • Надежное шифрование веб-трафика.
  • Доступ по Telnet и SSH.
  • Детальная статистика по использованию каналов связи (локальной сети и Интернета) и оборудования роутера.

Лучшие DD-WRT роутеры

Роутеры, представленные на рынке, созданы для обычного пользователя, так что производители стремятся сохранить простоту во всем, от подключения до настроек. С одной стороны, это облегчает работу, с другой стороны, это ограничивает возможности доступа к сети. Поэтому если вы сможете достать роутер с предустановленным DD-WRT, вы по-настоящему раскроете его возможности. Вот несколько лучших устройств с DD-WRT, доступных сегодня для обычных пользователей.

Netgear Nighthawk R7000

Это один из лучших DD-WRT роутеров. К вашим услугам мощный процессор, высокая скорость, шифрование и дешифровка VPN-трафика без труда. Три антенны обеспечивают уверенный сигнал по всему вашему дому. Другое преимущество — это подключение USB 3.0 и скорость передачи 1900 Мб/с.

Asus RT-AC66U совместим с большинством версий DD-WRT. Более медленный процессор означает, что VPN будет работать более медленно. Этот роутер прекрасно подойдет для тех, кто не может позволить себе более дорогой Netgear.

Лучшие DD-WRT роутеры

Netgear AC1450

Немногие согласятся, что AC1450 — хороший роутер, во многом из-за низкой цены.  Но не смотрите на нее. У этого устройства мощный процессор и такой же объем памяти, как у большинства более дорогих аналогов. Единственный недостаток — это внутренняя антенна, так что радиус уверенного приема достаточно ограничен.

Конфигурирование ваших устройств

Теперь, когда у вас есть настроенный VPN

Читайте также:  7 актуальных и выгодных способов заработать на фотошопе в интернете

и откройте для интернета, давайте перейдем к настройке вашего ноутбука и телефона. В этом руководстве рассматривается настройка PPTP в Windows, OS X и iOS. У нас есть руководство по Android VPN здесь

Вы по-прежнему будете использовать ту же основную информацию в других операционных системах, но помните, что вашему маршрутизатору потребуются имя пользователя и пароль, установленные для каждого клиента, к которому вы хотите подключиться.

Windows 10

Откройте меню «Пуск» и нажмите «Настройки». Затем нажмите «Сеть и Интернет» и на появившемся экране нажмите «VPN». Откройте экран Добавить VPN-подключение и заполните форму. Поставщик VPN должен быть Windows. Вы можете выбрать то, что вы хотите для имени подключения.

В поле Имя или адрес сервера введите свой DNS-адрес или IP-адрес WAN вашего маршрутизатора. В раскрывающемся списке Тип VPN выберите PPTP. Оставьте тип входа в систему как имя пользователя и пароль. Затем введите имя пользователя и пароль, которые вы создали при настройке маршрутизатора.

Когда вы не в своей локальной сети, вы будете подключаться из меню VPN. Ваша новая конфигурация VPN будет там. Выделите его и нажмите «Подключить».

Откройте Системные настройки и нажмите «Сеть». Если у вас нет учетной записи администратора, вам нужно нажать на замок и ввести пароль администратора. Затем нажмите знак плюс, чтобы добавить новый интерфейс. Во всплывающем окне выберите VPN для интерфейса. Для типа VPN выберите PPTP.

Вы можете установить, что вы хотели бы для имени и нажмите кнопку Создать.

В поле «Адрес сервера» вы вводите свой DNS DNS-сервер , а имя учетной записи — это имя пользователя, которое вы настроили на своем маршрутизаторе. Установите желаемый уровень шифрования; Только 128-битный является более безопасным. Затем нажмите Настройки аутентификации и введите свой пароль.

Когда вы не в своей локальной сети, вернитесь на панель «Сеть» и нажмите на VPN, которую вы настроили. Нажмите на Подключить.

Откройте приложение «Настройки». Затем нажмите «Общие»; прокрутите вниз и нажмите VPN. Нажмите Добавить конфигурацию VPN. Нажмите тип и выберите PTPP, затем нажмите стрелку назад. Установите, что вы хотели бы для описания.

В поле «Сервер» введите свой DNS-адрес или WAN-IP-адрес вашего маршрутизатора. Поле Учетная запись — это имя пользователя, которое вы настроили на маршрутизаторе. Оставьте RSA SecurID выключенным. Вы можете установить свой пароль или оставить его пустым, чтобы вводить пароль при каждом подключении.

Уровень шифрования установлен на Авто, но вы можете нажать и установить его на Максимальный. Это эквивалентно 40 или 128-битному или строгому 128-битному уровню шифрования OS X, но это iOS, поэтому меню «дружелюбнее». Оставьте Send All Traffic включенным.

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

Настройка

Вход в админку, изменение логина, пароля и языка интерфейса

Для доступа к админ-панели DD-WRT вбейте в адресную строку браузера ИП-адрес и нажмите кнопку перехода. Если всё сделано верно, откроется страница «Router Management». Используйте для входа в систему логин встроенной учетной записи администратора – «root» и пароль – «admin». Позже крайне желательно заменить их на более сложные.

Настройка

Вторым пунктом вы попадете на страницу «System Information», где отображены главные характеристики устройства и некоторые настройки – использование памяти, параметры точки доступа Wi-Fi, основные службы и прочее.

Чтобы изменить язык интерфейса с английского на русский, перейдите в раздел «Administration» на вкладку «Management» и из списка языков «Language Selection» выберите «Russian». Для сохранения нажмите «Save».

Кстати, на этой же вкладке – в разделе «Router Password», находятся настройки изменения логина и пароля для входа в админ-панель. Имейте в виду, если вы не поменяли их сразу.

Интернет и точка доступа Wi-Fi

Настройка

Теперь перейдем к главному – настройке Интернета. Часто для этого достаточно подключить к маршрутизатору кабель провайдера, но бывает, что это не работает. Тогда приходится вбивать настройки вручную. Не пугайтесь, это просто и занимает не больше 3 минут.

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

Откройте в DD-WRT раздел «Setup» – «Basic setup» – «WAN setup» (Основные настройки – настройки WAN) и заполните его данными, полученными от провайдера. Если сделаете всё по правилам, у вас появится доступ в Интернет.

Читайте также:  LibreOffice — бесплатный пакет офисных приложений

Если ваш провайдер использует подключение типа VPN PPTP, L2TP или PPPoE, придется сделать еще несколько дополнительных настроек. При подключении через PPTP и L2TP зайдите в раздел «Services» на вкладку «VPN» и установите следующие значения (показано на примере PPTP):

Настройка
  • PPTP Client Options – enable (включить).
  • Server IP op DNS client – прописать адрес, полученный от провайдера.
  • MPPE encryption – очистить поле.
  • User name – указать имя пользователя из договора с провайдером.
  • Password – указать пароль из договора с провайдером.

Остальное оставьте по умолчанию.

При подключении типа PPPoE на той же самой вкладке необходимо отключить PPTP Client Options, то есть присвоить ему значение disable. А на вкладке «Setup» – «Basic setup» – «Network setup» снять флажки возле пунктов «Use DNSMasq for DHCP» и «Use DNSMasq for DNS». Остальное – по инструкции провайдера и умолчанию.

После того как на роутере заработал Интернет, можно переходить к настройке точки доступа Wi-Fi. DD WRT дает возможность создавать изолированные беспроводные подключения для разных клиентов, например, для хозяев и гостей, взрослых и детей, компьютеров и устройств умного дома и т. д.

Настройка

Настройки беспроводных сетей находятся в разделе «Wireless». Кстати, на момент установки прошивки точка доступа, названная, «dd-wrt» уже создана и запущена. Однако она открыта всем ветрам и непрошеным гостям, поскольку не использует парольную защиту и шифрование.

Основные параметры беспроводной сети задаются на вкладке «Basic setup». Здесь необходимо выставить следующее:

  • Wireless Mode – AP (access point).
  • Wireless Network Mode – оптимально Mixed (все поддерживаемые стандарты IEEE11), чтобы могли подключаться и новые, и старые устройства, работающие по стандартам IEEE
  • Channel Width (ширина канала) – в зависимости от поддержки вашим роутером. С этой настройкой можно поэкспериментировать.
  • Wireless Channel (канал беспроводной сети) – тоже можно экспериментировать или сразу выбрать самый свободный.
  • Wireless Network Name (SSID) – имя точки доступа. Можно любое.
  • Wireless SSID Broadcast (вещание имени точки доступа) – при желании можно отключить.

Остальное оставьте по умолчанию. Сохраните изменения и переходите на вкладку «Wireless security».

Настройка

Здесь:

  • Security Mode (режим защиты или тип шифрования) – оптимально WPA2, но если к сети будут подключаться старые устройства, например, ПК на базе Windows XP, выбирайте WEP.
  • WPA Algorithms (алгоритм шифрования) – оптимально AES.
  • WPA Shared Key – пароль для подключения к точке доступа. Любой.

Сборка своего собственного образа OpenWRT

Если тебя по какой-то причине не устраивает стандартный образ OpenWRT, то можно собрать свой, для чего необходимо получить тулчейн и OpenWRT Buildroot. Прежде всего установим соответствующие пакеты:

$ sudo apt-get install subversion build-essential git-core libncurses5-dev zlib1g-dev gawk

Собирать мы будем текущую нестабильную версию OpenWRT и материалы (feeds). Скачаем их.

$ mkdir openwrt && cd $_ $ svn co svn:// $ cd trunk $ ./scripts/feeds update -a && ./scripts/feeds install -a

Сборка своего собственного образа OpenWRT

После этого проверим зависимости — мало ли, вдруг какой-нибудь необходимый для сборки пакет не установлен.

$ make prereqСборка необходимых инструментов

Если все нормально, можем конфигурировать образ. Для чего вводим

$ make menuconfig

И выбираем, точно так же, как и при конфигурации ядра, нужные тебе вещи. Единственное отличие от «ядерного» menuconfig — звездочка означает, что объект будет встроен в образ, а M — что будет доступен в виде пакета ipk, который позже можно будет установить отдельно. Сильно увлекаться, однако, не советую — помни о том, что места на внутренней флеш-памяти не просто мало, а очень мало.

В основном процесс конфигурирования включает в себя следующие шаги:

  • Выбор конкретной целевой системы и профиля. Их необходимо указывать как можно точнее — если укажешь неправильно, ты рискуешь превратить роутер в кирпич.
  • Выбор пакетов. Здесь действует правило — чем меньше ты встроишь их в образ, тем лучше. Поэтому выбирай только самые необходимые. Я бы посоветовал включить LuCI.
  • Настройки сборки. Тут ты можешь разве что в разделе Global build settings включить/выключить IPv6. В Advanced configuration options стоит лезть, только когда ты четко знаешь, для чего, к примеру, служит та или иная опция GCC, достаточна ли мощность процессора для включения защиты стека и так далее.
  • Выбор модулей ядра. Тут те же самые рекомендации, что и при выборе пакетов. Загляни в секцию USB Support и включи опцию kmod-usb-storage. Остальные включай по желанию.
Сборка своего собственного образа OpenWRT

Если же тебе зачем-то понадобится подправить ядерный конфиг, используй

Читайте также:  PS2: настройка эмулятора, инструкция и руководство

$ make kernel_menuconfigВыбор опций при сборке кастомной прошивки

Учти, что если ты потом сделаешь очистку, то конфиг ядра не очистится. Для его очистки набери

$ svn revert -R target/linux/

После всего этого можешь смело набирать команду

$ make

для сборки образа. Это займет длительное время, по истечении которого в каталоге bin/появятся файлы образа.

Сборка своего собственного образа OpenWRT

Существует несколько путей для того, чтобы залить прошивку. Самый легкий из них — через веб-интерфейс, и описывать его я смысла не вижу. Второй способ — использовать утилиту scp на хостовом компьютере вкупе с mtd на роутере для залития образа и его прошивки. Поскольку сейчас стоит уже OpenWRT, то можно прошивать как factory-, так и sysupgrade-образ. В моем случае команды были такими:

$ scp bin/ar71xx/ [email protected]:/tmp openwrt# mtd -r write /tmp/ firmware

Вторая команда шьет (write) свежескачанную прошивку в раздел, именуемый firmware, и вслед за этим роутер перезагружается (-r). В случае обновления OpenWRT со стабильной версии до текущей я бы советовал не восстанавливать сохраненную конфигурацию, а настроить все заново — у меня по каким-то причинам старые конфиги не подошли к свежескомпилированной версии.

Копирование прошивки в роутер

Конфигурирование Wi-Fi

Конфигурирование беспроводной части вычислительной сети — это следующий важный этап в задании программных параметров DD-WRT. Настройка WiFi сводится к таким действиям:

Запускаем интернет-просмотрщик и заходим с помощью системы авторизации в интерактивное меню сетевого устройства.

Переходим на вкладку Wi-Fi . Затем выбираем вкладку «Основные настройки».

На ней задаем название сети, ее видимость, а также ее рабочую частоту (канал).

Сохраняем указанные параметры.

Переходим на вкладку «Безопасность». На ней задаются пароль и тип шифрования. Сохраняем их.

Команда nvram

Термин nvram имеет несколько значений. Во-первых, это сокращение от non-volatile RAM, специального типа энергонезависимой памяти, сохраняющей данные при отключении питания. Флеш-память, используемая в маршрутизаторе, как раз относится к типу nvram . Команда nvram используется для управления настройками аппаратного обеспечения, которые хранятся в последнем блоке флеш-памяти. Этот сегмент памяти часто также называется nvram . Различные версии команды nvram учитывают специфику продуктов IBM, CISCO, Oracle и Apple. Версия команды nvram, используемой DD-WRT может только выводить и изменять значения, присвоенные переменным, а также удалять переменные. Если запустить её без указания опций, то будут выведены возможные опции и пример синтаксиса использования.

[email protected]:~# nvram usage: nvram

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

[email protected]:~# nvram show | less

Или найти определенную переменную с помощью утилиты grep , как показано ниже.

[email protected]:~# nvram show | grep ssh

Совет: если вы случайно отключите Web-интерфейс, но сохраните возможность подключения через telnet или SSH, то Web-интерфейс можно включить следующим способом.

[email protected]:~# nvram set http_enable=1 [email protected]:~# nvram commit [email protected]:~# reboot

Это изменение будет применено после перезагрузки. Значение параметра boot_wait нельзя изменить через GUI, но с помощью nvram это возможно. Сначала необходимо узнать текущее значение данного параметра.

[email protected]:/etc# nvram show |grep wait boot_wait=on wait_time=5

Так как я крайне осторожна, то предпочту увеличить это значение до 10 секунд.

[email protected]:/etc# nvram set wait_time=10 [email protected]:~# nvram commit

Стереть уже установленное значение переменной также очень просто.

[email protected]:~# nvram set http_enable=»» [email protected]:~# nvram commit

Если вы не хотите, чтобы какое-то изменение можно было отменить, перезагрузив маршрутизатор, то просто не пользуйтесь командой nvram commit . Это хороший приём, который позволяет проводить эксперименты, так как достаточно просто перегрузить маршрутизатор, чтобы вернуться к предыдущему состоянию.

Команда nvram unset полностью удаляет указанную переменную. На ресурсе OpenWrt Wiki можно найти хорошее описание команды nvram (см. раздел » «).

Последним шансом на исправление испорченной конфигурации может стать сброс всех настроек маршрутизатора в значения по умолчанию, установленные в прошивке. Для этого необходимо нажать кнопку сброса (reset) на маршрутизаторе и удерживать её в течении 30 секунд, а затем перегрузить устройство. После этого будут восстановлены значения по умолчанию DD-WRT, а не оригинальной прошивки устройства, как ошибочно предполагают некоторые пользователи.