Как стать автором
Обновить

Прошивка OpenWRT для роутеров

Настройка Linux *Сетевые технологии *
Ожидает приглашения

Введение

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

Как вы скорее всего знаете, ваш роутер – это маленький компьютер и него есть программное обеспечение, так называемая “прошивка” или “firmware”. Прошивку разрабатывает производитель роутера, однако существуют также альтернативные решения – проекты с открытым исходным кодом: OpenWRT, DD-WRT, Tomato.

Что нам даёт использование OpenWRT?

  • Обновления (безопасность и новые фишки) выпускаются в разы чаще и поддержка сохраняется в разы дольше, чем у большинства производителей. Особенно актуально это стало в условиях карантина. Уязвимая “прошивка” роутера – одна из наиболее частых причин инцидентов при удаленной работе.

  • “Родные” прошивки бывают нестабильными, особенно у дешевых роутеров. Так многие модели TP-Link зависали после нескольких дней беспрерывной работы.

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

  • Вам не обязательно покупать дорогой роутер для реализации продвинутых “фишек”, таких как IPv6, родительский контроль, блокировка рекламы, VPN, гостевой WiFi, DNS шифрование, динамический DNS (DDNS) и т. д.

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

  • Преимущества открытого решения на базе Linux: возможность подключаться через SSH, автоматизировать настройку и управлять роутером с помощью скриптов, настройки хранятся в текстовых файлах (автоматизация, контроль версий), можно использовать роутер для других задач (умный дом, SFTP/Web сервер, закачка торрентов и т.п.).

Подробнее эти и другие причины описаны на сайте проекта.

Базовая настройка OpenWRT

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

  1. Установить пароль пользователя root.

  2. Ограничить доступ по SSH только для интерфейса LAN.

  3. Настроить PPPoE подключение по WAN.

  4. Настроить WiFi.

  5. Добавить гостевой WiFi (без доступа в локальную сеть).

  6. Настроить динамический DNS NoIP.

  7. Настроить переадресацию портов (port forwarding).

  8. Сохранить конфигурацию в архивный файл.

Пункты 6 и 7 нужны, например, для того, чтобы подключаться из Интернета к домашнему компьютеру по SSH или SFTP (например, для синхронизация файлов с ноутбуком), а также для прямого подключения по Anydesk, которое работает быстрее, чем обычное.

Процесс “перепрошивки” на OpenWRT зависит от модели вашего роутера. Следует найти его в списке поддерживаемых устройств и следовать приведенным там рекомендациям.

Настройки можно делать с помощью SSH-подключения и скриптов, однако мы рассмотрим веб-интерфейс (который называется LuCI) как более наглядный и устойчивый к изменениям вариант.

1. Установить пароль пользователя root

Перейти в меню System > Administration.

2. Ограничить доступ по SSH только для интерфейса LAN

Перейти в меню System > Administration > SSH Access.

Interface = lan

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

3. Настроить PPPoE подключение по WAN

Перейти в меню Network > Interfaces.

Нажать кнопку “Edit” в строке “WAN”.

Protocol = PPPoE + нажмите кнопку "Switch protocol"
PAP/CHAP username = ваш_логин_у_провайдера
PAP/CHAP password = ваш_пароль_у_провайдера

4. Настроить WiFi

Перейти в меню Network > Wireless.

4.1 Нажать на кнопку “Edit” под “radio0 802.11nac”.

Channel = Auto
ESSID = имя_вашего_wifi_5GHz

Перейти на вкладку Wireless Security.

Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашего_wifi_5GHz

4.2 Нажать на кнопку “Edit” под “radio1 802.11bgn”.

Channel = Auto
ESSID = имя_вашего_wifi_2.4GHz

Перейти на вкладку Wireless Security.

Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашего_wifi_2.4GHz

Нажать кнопки “Enable” (слева от “Edit”) на обоих подключениях.

5. Добавить гостевой WiFi

Взято отсюда, плюс ужато и обновлено под новый интерфейс.

Делаем для 2.4 ГГц, но аналогично можно сделать и для 5ГГц.

5.1 Перейти в меню Network > Wireless.

5.1.1 Нажать кнопку “Add” в “radio1 802.11bgn”.

Channel = Auto
ESSID = имя_вашего_гостевого_wifi
network = выбрать "-- custom --" и ввести "guest"

5.1.2 Перейти на вкладку Wireless Security.

Encryption = WPA2-PSK/WPA3-SAE Mixed Mode
Key = пароль_вашего_гостевого_wifi

5.2 Перейти в меню Network > Interfaces.

5.2.1 Нажать на кнопку “Edit” в интерфейсе “GUEST”.

Protocol=Static address + нажать кнопку “Switch protocol”
IPv4 address = 192.168.3.1
IPv4 netmask = 255.255.255.0

5.2.2 Перейти на вкладку “Firewall settings”.

Create / Assign firewall-zone = выбрать "-- custom --" и ввести "guest"

5.2.3 Перейти на вкладку “DHCP server”.

Нажать на кнопку "Setup DHCP server" и далее Save

5.3 Перейти в меню Network > Firewall.

5.3.1 Нажать на кнопку “Edit” в зоне “guest”.

Input = reject
Allow forward to destination zones = WAN

5.3.2 Перейти на вкладку Traffic rules.

Нажать на кнопку “Add” внизу.

Name = Guest DNS
Protocol = TCP+UDP
Source zone = guest
Destination zone = Device(input)
Destination port = 53
Save

Нажать на кнопку “Add” внизу.

Name = Guest DHCP
Protocol = UDP
Source zone = guest
Destination zone = Device(input)
Destination port = 67
Save

6. Настроить динамический DNS NoIP

6.1 Перейти в меню System > Software.

Нажать кнопку “Update lists…”

Набрать “ddns” в поле “Filter”.

Установить пакеты “ddns-scripts”, “ddns-scripts-noip”, “luci-app-ddns”.

Сделать Logout и потом залогиниться снова.

6.2 Перейти в меню Services > Dynamic DNS.

6.2.1 Нажать кнопку “Edit” в строке “myddns_ipv4”.

Lookup Hostname = your.dyndns.domain.com
DDNS Service provider = no-ip.com + нажать кнопку "Switch service"
Domain = your.dyndns.domain.com
Username = your_username
Password = your_password

6.2.2 Нажать кнопку “Reload” в строке “myddns_ipv4”.

6.2.3 Нажать кнопку “Delete” в строке “myddns_ipv6” — если вам достаточно IPv4.

7. Настроить переадресацию портов (port forwarding)

Перейти в меню Network > Firewall > Port Forwards.

Нажать кнопку “Add” внизу:

Name = SSH
Protocol = TCP+UDP
External port = 22
Internal IP address = 192.168.1.2
Save

Нажать кнопку “Add” внизу:

Name = Anydesk
Protocol = TCP+UDP
External port = 7070
Internal IP address = 192.168.1.2
Save

8. Сохранить конфигурацию в архивный файл.

Перейти в меню System > Backup.

Нажать на кнопку “Generate archive”.

Сохранить скачанный файл в надежном месте.

В этом же пункте меню можно загружать обновления прошивки – кнопка “Flash image…”.

Заключение

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

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.