- Прошивка OpenWRT для роутеров
- Базовая настройка OpenWRT
- 1. Установить пароль пользователя root
- 2. Ограничить доступ по SSH только для интерфейса LAN
- 3. Настроить PPPoE подключение по WAN
- 4. Настроить WiFi
- 5. Добавить гостевой WiFi
- 6. Настроить динамический DNS NoIP
- 7. Настроить переадресацию портов (port forwarding)
- 8. Сохранить конфигурацию в архивный файл.
- Заключение
- Работа маршрутизатора
- Конструктивные характеристики роутеров
- Сетевые адреса маршрутизатора
- Программное обеспечение маршрутизаторов
- Встроенная защита маршрутизатора
- Трансляция сетевых адресов
Прошивка OpenWRT для роутеров
Данная статья может быть полезна продвинутым пользователям, которые хотят улучшить работу своего домашнего роутера, а также системным администраторам предприятий, перед которым стоит задача повысить надежность и безопасность удаленной работы сотрудников.
Как вы скорее всего знаете, ваш роутер – это маленький компьютер и него есть программное обеспечение, так называемая “прошивка” или “firmware”. Прошивку разрабатывает производитель роутера, однако существуют также альтернативные решения – проекты с открытым исходным кодом: OpenWRT, DD-WRT, Tomato.
Что нам даёт использование OpenWRT?
- Обновления (безопасность и новые фишки) выпускаются в разы чаще и поддержка сохраняется в разы дольше, чем у большинства производителей. Особенно актуально это стало в условиях карантина. Уязвимая “прошивка” роутера – одна из наиболее частых причин инцидентов при удаленной работе.
- “Родные” прошивки бывают нестабильными, особенно у дешевых роутеров. Так многие модели TP-Link зависали после нескольких дней беспрерывной работы.
- Вы привыкаете к одному интерфейсу пользователя и при последующей смене/апгрейде роутера, даже от другого производителя, чувствуете себя “как дома”.
- Вам не обязательно покупать дорогой роутер для реализации продвинутых “фишек”, таких как IPv6, родительский контроль, блокировка рекламы, VPN, гостевой WiFi, DNS шифрование, динамический DNS (DDNS) и т. д.
- Есть активное сообщество, которое поможет оперативнее, чем даже поддержка крупного производителя, да и многое уже описано.
- Преимущества открытого решения на базе Linux: возможность подключаться через SSH, автоматизировать настройку и управлять роутером с помощью скриптов, настройки хранятся в текстовых файлах (автоматизация, контроль версий), можно использовать роутер для других задач (умный дом, SFTP/Web сервер, закачка торрентов и т.п.).
Подробнее эти и другие причины описаны на сайте проекта.
Базовая настройка OpenWRT
Данная статья поможет вам настроить базовые функции OpenWRT, благодаря чему вы сможете быстро и безболезненно перейти на это решение. Вот перечень этих функций:
- Установить пароль пользователя root.
- Ограничить доступ по SSH только для интерфейса LAN.
- Настроить PPPoE подключение по WAN.
- Настроить WiFi.
- Добавить гостевой WiFi (без доступа в локальную сеть).
- Настроить динамический DNS NoIP.
- Настроить переадресацию портов (port forwarding).
- Сохранить конфигурацию в архивный файл.
Пункты 6 и 7 нужны, например, для того, чтобы подключаться из Интернета к домашнему компьютеру по SSH или SFTP (например, для синхронизация файлов с ноутбуком), а также для прямого подключения по Anydesk, которое работает быстрее, чем обычное.
Процесс “перепрошивки” на OpenWRT зависит от модели вашего роутера. Следует найти его в списке поддерживаемых устройств и следовать приведенным там рекомендациям.
Настройки можно делать с помощью SSH-подключения и скриптов, однако мы рассмотрим веб-интерфейс (который называется LuCI) как более наглядный и устойчивый к изменениям вариант.
1. Установить пароль пользователя root
2. Ограничить доступ по SSH только для интерфейса LAN
После этого шага имеет смысл сделать Logout и залогиниться снова, чтобы убрать предупреждение в верхней части экрана.
3. Настроить PPPoE подключение по WAN
Нажать кнопку “Edit” в строке “WAN”.
Protocol = PPPoE + нажмите кнопку "Switch protocol" PAP/CHAP username = ваш_логин_у_провайдера PAP/CHAP password = ваш_пароль_у_провайдера
4. Настроить WiFi
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.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.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.1 Нажать на кнопку “Edit” в зоне “guest”.
Input = reject Allow forward to destination zones = WAN
Нажать на кнопку “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
Нажать кнопку “Update lists…”
Набрать “ddns” в поле “Filter”.
Установить пакеты “ddns-scripts”, “ddns-scripts-noip”, “luci-app-ddns”.
Сделать Logout и потом залогиниться снова.
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)
Name = SSH Protocol = TCP+UDP External port = 22 Internal IP address = 192.168.1.2 Save
Name = Anydesk Protocol = TCP+UDP External port = 7070 Internal IP address = 192.168.1.2 Save
8. Сохранить конфигурацию в архивный файл.
Нажать на кнопку “Generate archive”.
Сохранить скачанный файл в надежном месте.
В этом же пункте меню можно загружать обновления прошивки – кнопка “Flash image…”.
Заключение
Таким образом, мы рассмотрели недорогие в применении меры повышения безопасности и стабильности работы домашних роутеров с помощью прошивки OpenWRT. В то же время, следует заметить, что ни одна разовая мера безопасности, включая внедрение дорогого оборудования и программного обеспечения, не даст гарантий отсутствия инцидентов безопасности. Если вам нужен действительно высокий уровень защищённости, то необходим комплексный системный подход, начиная с аудита вашей ИТ-инфраструктуры, в том числе, домашнего окружения.
Работа маршрутизатора
Компьютерные технологии уже настолько прочно внедрились в нашу жизнь, что уже практически не осталось людей, не знающих слова «Интернет», «скинуть фильм на флешку» и тому подобные выражения. И практически у каждого пользователя есть выход в сеть Интернет, который раздается всем устройствам в доме при помощи маршрутизатора.
Но мало кто знает принцип работы роутера и его основные функции, а ведь хотя бы элементарные знания никогда не помешают, хотя бы для поддержания беседы в компании, или для более осознанной настройки роутера.
Маршрутизатор может служить либо для объединения некоторой группы компьютеров, создавая изолированную локальную сеть, либо находится на границе между двумя локальными сетями, тем самым объединяя их, либо на границе между локальной сетью и Интернетом. Рассмотрим более подробно «пограничные» варианты работы.
Конструктивные характеристики роутеров
Так как маршрутизатор располагается на границе между компьютерными сетями, являясь их связывающим звеном (мостом или шлюзом), то по конструкции маршрутизатор должен быть оборудован как минимум двумя сетевыми интерфейсами (портами):
- WAN порт, к которому производится подключение внешней сети, провайдера;
- LAN порт, к которому подключаются компьютеры внутренней, локальной сети. Как правило, LAN портов несколько, наиболее частые конфигурации – 4 порта.
Также, в зависимости от ценовой категории, маршрутизаторы дополняются USB и ADSL портами. В темных углах кладовых комнат можно найти древние Dial-up модемы.
Сетевые адреса маршрутизатора
Учитывая, что маршрутизатор является устройством сетевого уровня, то он в обязательном порядке имеет свой сетевой IP адрес. Данный IP адрес является одним единственным для всех внутренних интерфейсов (LAN портов, Wi-Fi), но вот у внешнего WAN порта отдельно свой IP.
Например, роутер имеет адрес 192.168.1.1 с маской подсети 255.255.255.0, но в тот же момент его WAN порт имеет адрес 202.1.2.3 с маской подсети 255.255.255.0.
Важным правилом назначения адресов внутри подсети является назначение IP адреса каждому компьютеру именно той подсети, которой является и сам маршрутизатор. Но данное правило можно и забыть, если задать роутеру раздавать адреса устройствам своей подсети автоматически при помощи DHCP сервера.
Программное обеспечение маршрутизаторов
Встроенная защита маршрутизатора
Так как роутер является соединительным шлюзом между локальной сетью и Интернетом, то в его программное обеспечение встраивают защитную функцию, называемую брандмауэр, или другое название – фаервол, огненная стена. Брандмауэр защищает внутренние компьютеры от несанкционированного доступа извне, игнорируя подозрительный трафик, идущий из Интернета.
Брандмауэр, анализируя весь трафик, проходящий через все сетевые интерфейсы, сопоставляет их с заложенными в его память критериями. Если какое-либо из условий не выполняется, то передаваемые данные переходят в разряд подозреваемых, и блокируются. Маршрутизатор при определенных настройках может даже проинформировать пользователей о попытках взлома, но по умолчанию он просто по-тихому блокирует.
Так же брандмауэр можно настроить на блокировку определенных ресурсов Интернета (например, запретить социальные сети вконтакте или одноклассники), или сетевую активность программ (например, запретить ICQ или торрент-трекеры).
Данные функции очень удобны внутри корпоративных офисов, или если в доме имеются дети, которым необходимо перекрыть доступ к сайтам непристойного содержания.
В зависимости от реализации брандмауэра, он может работать на различных уровнять сетевой модели OSI. Чем выше уровень, тем более мощная и адекватная защита. Минимальный уровень – третий, сетевой, максимальный – седьмой, прикладной. Некоторые профессиональные (но и дорогие) брандмауэры захватывают все уровни, и при правильной их настройке и обслуживанию защищают локальную сеть просто на отлично. Хакеру-дилетанту такой уровень защиты не преодолеть.
Трансляция сетевых адресов
Когда разрабатывались сетевые адреса и их теоретическое количество, то никто не ожидал, что в мире будет столько много сетевых устройств. И, разумеется, IP-адресов стало на всех не хватать, и для решения данной проблемы был разработан протокол NAT – преобразование нескольких внутренних IP-адресов в один внешний IP-адрес.
Другими словами, много компьютеров могут выходить в сеть Интернет, использую всего один IP-адрес. Преобразование адресов опять же берет на себя маршрутизатор.
Работает NAT следующим образом – компьютер1 из локальной сети делает запрос, например, у поисковой системы Google. Информация отправляется на маршрутизатор, который записывает в своей внутренней таблице адрес компьютера1 и соответствующий ему запрос, далее в заголовке пакета информации подменяет IP-адрес на свой, внешний, и далее отправляет запрос адресату, то есть в Гугль. В тот же момент некий компьютер2 тоже делает запрос, например, поисковой системе Rambler. Маршрутизатор также сохраняет в таблице адрес компьютера2 и соответствующий ему запрос, меняет IP-адрес на тот же, что и компьютера1, и отправляет Рамблеру. Проходит время, и Гугль возвращает ответ, маршрутизатор смотрит в таблице, кому он предназначен, находит компьютер1, и отправляет его получателю. Тоже самое и с компьютером2. В итоге оба компьютера получили запрашиваемые данные с внешней сети, использую один IP-адрес.