Настройка межсетевого экрана в роутере TELEOFIS LT7x

Настройка межсетевого экрана в роутере TELEOFIS LT7x

← Все разделы FAQ

Разделы FAQ:

Оглавление

Введение

Локальная сеть редко остаётся изолированной: её устройствам нужен доступ к интернету, удалённым серверам и ресурсам на других площадках. Такой доступ обеспечивает маршрутизатор (роутер), который связывает локальную сеть с внешней и передаёт данные между ними. Вместе с полезным трафиком из внешней сети могут поступать и нежелательные запросы, в том числе попытки получить доступ к самому маршрутизатору или устройствам за ним. Чтобы ограничить такие обращения, в маршрутизаторе используется межсетевой экран (firewall): он проверяет пакеты по заданным правилам и определяет, какие пропустить, а какие отклонить. Так можно разрешить устройствам локальной сети выход во внешнюю сеть и одновременно закрыть доступ к ним извне.

В статье рассмотрены принцип работы межсетевого экрана на 4G-роутерах TELEOFIS LT7x, его основные параметры и сетевые зоны. На примерах показано, как открыть порт на роутере для его собственной службы, настроить проброс порта на устройство в локальной сети и подключить собственные правила nftables, если стандартных настроек недостаточно. В примерах используются зоны lan и wan; названия сетей и адреса в конкретной конфигурации могут отличаться.


Принцип работы межсетевого экрана

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

Настройки межсетевого экрана доступны в веб-интерфейсе по пути Сеть → Межсетевой экран. На вкладке Общие настройки находятся политики для входящего, исходящего и пересылаемого трафика, а также дополнительные функции защиты. Эти же параметры хранятся в файле /etc/config/firewall, который при необходимости можно изменить через консоль.

Рисунок 1 — Вкладка «Общие настройки» межсетевого экрана.


Политики по умолчанию

Если пакет не подходит ни под одно отдельное правило, межсетевой экран применяет политику для соответствующего направления трафика: для интерфейсов, включённых в зону, — политику этой зоны, для интерфейсов вне зон — политику из раздела Общие настройки. Отдельные правила, добавленные на вкладке Правила для трафика, позволяют сделать исключения — например, разрешить доступ к одной службе при общем запрете входящих подключений.

Описание направлений трафика:

Поле в веб-интерфейсе Цепочка Какой трафик обрабатывает Пример
Входящий трафик INPUT Трафик из сети к самому маршрутизатору. Подключение к веб-интерфейсу или по SSH.
Исходящий трафик OUTPUT Трафик, который создаёт маршрутизатор. Запрос маршрутизатора к серверу времени.
Перенаправление FORWARD Транзитный трафик через маршрутизатор. Подключение компьютера из LAN к серверу в интернете.

В файле /etc/config/firewall эти настройки находятся в разделе config defaults. Для значений, показанных на рисунке 1, параметры выглядят так:

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

Параметры input, output и forward соответствуют трём полям с действиями по умолчанию. Строка syn_flood относится к отдельному флажку защиты от атак SYN-flood. Поле Перенаправление в общих настройках задаёт политику для транзитного трафика; перенаправление портов настраивается на отдельной вкладке.

Для каждого направления выбирается одно из трёх действий:

  • ACCEPT — пропустить пакет.
  • REJECT — отклонить пакет и сообщить отправителю об отказе.
  • DROP — отбросить пакет без ответа отправителю.

REJECT и DROP различаются только наличием ответа: в обоих случаях пакет не достигает назначения. Если какой-либо службе всё же нужен доступ, для неё создаётся отдельное правило — выбор действия по умолчанию его не заменяет.


Сетевые зоны

Зона — это заданная в настройках группа сетевых интерфейсов, для которой межсетевой экран формирует отдельные цепочки правил. В рассматриваемой конфигурации зона lan относится к локальной сети, а зона wan — к внешним подключениям. При поступлении пакета межсетевой экран определяет его зону и применяет относящиеся к ней правила. Поэтому правило с источником wan не обрабатывает пакет, пришедший из lan. Такое разделение сокращает число ненужных проверок и позволяет не повторять одинаковые настройки для каждого интерфейса.

Список зон находится в нижней части вкладки Общие настройки (рисунок 1). Чтобы открыть параметры зоны, нажмите Изменить в её строке. На рисунке 2 показаны настройки зоны wan.

Рисунок 2 — Общие настройки зоны wan.

Описание параметров зоны:

Параметр Значение Что означает
Название wan Имя зоны, которое используется в правилах межсетевого экрана.
Входящий трафик отвергать Новые обращения из зоны wan к самому маршрутизатору отклоняются.
Исходящий трафик принимать Пакеты, созданные маршрутизатором, могут выходить через интерфейсы этой зоны.
Перенаправление отвергать Политика зоны для пересылаемого трафика.
Маскарадинг включён При выходе через зону подменяется исходный IPv4-адрес.
Ограничение MSS включено Корректируется размер TCP-сегментов при пересылке.
Охватываемые сети internet, wan Интерфейсы маршрутизатора, включённые в эту зону.
Перенаправление в зоны назначения не определено Новые подключения из wan в другие зоны не разрешены.
Перенаправление из зон источников lan Устройствам из lan разрешено начинать соединения через wan.

Ответы на уже установленные соединения пропускаются из wan обратно в lan без отдельного разрешения этого направления.


Открытие порта на маршрутизаторе

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

Открытие порта для службы на маршрутизаторе — один из вариантов такого правила. Так решается задача «как открыть порт на роутере», если подключаться нужно к самому LT7x. Этот трафик относится к направлению Входящий трафик (INPUT). В качестве примера разрешим доступ из зоны wan к веб-интерфейсу LT7x по протоколу HTTP на TCP-порту 80.

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

Шаг 1. Откройте Сеть → Межсетевой экран и перейдите на вкладку Правила для трафика (рисунок 3).

Рисунок 3 — Переход к вкладке «Правила для трафика».

Шаг 2. В нижней части списка правил нажмите Добавить (рисунок 4).

Рисунок 4 — Добавление нового правила для трафика.

Шаг 3. Введите название HTTP, выберите протокол TCP и зону источника wan. В поле Зона назначения укажите Устройство (ввод), в поле Порт назначения — 80, в поле Действие — принимать (рисунок 5).

Рисунок 5 — Правило для открытия HTTP-порта 80 на маршрутизаторе.

Шаг 4. Нажмите Сохранить, затем Применить на странице межсетевого экрана. После применения правило отображается на вкладке Правила для трафика (рисунок 6).

Рисунок 6 — Правило HTTP после добавления.

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

Настройка через консоль. То же правило можно добавить в файл /etc/config/firewall. Подключитесь к маршрутизатору по SSH, откройте файл командой nano /etc/config/firewall и добавьте блок:

config rule
    option name 'HTTP'
    list proto 'tcp'
    option src 'wan'
    option dest_port '80'
    option target 'ACCEPT'

Сохраните файл и выполните /etc/init.d/firewall restart. Если правило уже создано через веб-интерфейс, добавлять его повторно не нужно: веб-интерфейс сохраняет настройки в тот же файл.


Перенаправление порта на устройство в LAN

Если подключение из внешней сети должно поступить не на маршрутизатор, а на устройство за ним, используют перенаправление порта (проброс порта, port forwarding). Например, к LT7x подключён ПЛК с адресом 192.168.88.100, который принимает TCP-подключения на порту 5000. Настроим передачу обращений к порту 5000 внешнего адреса маршрутизатора на этот ПЛК. На схеме внешний адрес LT7x 192.0.2.13 указан условно: в реальной настройке используется адрес, назначенный устройству.

Рисунок 7 — Схема перенаправления TCP-порта 5000 на ПЛК.

Шаг 1. Перейдите в Сеть → Межсетевой экран → Перенаправление портов и нажмите Добавить (рисунок 8).

Рисунок 8 — Переход к созданию перенаправления порта.

Шаг 2. Заполните новую запись следующими параметрами:

Параметр Значение
Название PLC-5000
Протокол TCP, UDP
Зона источника wan
Внешний порт 5000
Зона назначения lan
Внутренний IP-адрес 192.168.88.100
Внутренний порт 5000

Заполненное окно настройки показано на рисунке 9.

Рисунок 9 — Параметры перенаправления порта.

Шаг 3. Нажмите Сохранить. Созданная запись появится на вкладке Перенаправление портов (рисунок 10).

Рисунок 10 — Перенаправление порта после сохранения.

Шаг 4. Нажмите Применить на странице межсетевого экрана. Маршрутизатор будет менять адрес назначения подходящих входящих пакетов на адрес ПЛК и пересылать их в локальную сеть. Адрес ПЛК должен оставаться постоянным: закрепите его в настройках DHCP или задайте статически на самом устройстве.

Настройка через консоль. Вместо создания записи в веб-интерфейсе откройте /etc/config/firewall по SSH и добавьте блок:

config redirect
    option dest 'lan'
    option target 'DNAT'
    option name 'PLC-5000'
    option src 'wan'
    option src_dport '5000'
    option dest_ip '192.168.88.100'
    option dest_port '5000'

Сохраните файл и выполните /etc/init.d/firewall restart. Поскольку в блоке не указан proto, перенаправление действует для TCP и UDP, как в примере на рисунке 9. Если служба ПЛК использует только TCP, добавьте в блок строку option proto 'tcp'.

Для подключения из интернета входящие пакеты должны доходить до WAN-адреса LT7x, поэтому маршрутизатору нужен публичный («белый») IP-адрес. Если перед LT7x установлен другой маршрутизатор с NAT или оператор выдаёт частный («серый») адрес, входящие подключения не достигают устройства, и одного правила перенаправления на LT7x недостаточно.


Пользовательские правила nftables

На LT7x настройки межсетевого экрана обрабатывает firewall4, который формирует правила nftables. Открытие и перенаправление портов можно настроить через веб-интерфейс или файл /etc/config/firewall. Однако не все условия фильтрации доступны в веб-интерфейсе или выражаются обычным разделом config rule. Для таких случаев можно подключить собственные правила nftables.

Например, для L2TP/IPsec может потребоваться разрешать обращения к UDP-порту 1701 только после обработки пакета протоколом IPsec. Подключитесь к маршрутизатору по SSH и создайте файл командой nano /etc/rule.nft. Добавьте в него две строки:

meta ipsec exists udp dport 1701 accept
meta ipsec missing udp dport 1701 reject

Первая строка принимает UDP-пакеты на порт 1701, если они прошли IPsec-обработку. Вторая отклоняет обращения к тому же порту без IPsec. Эти правила фильтруют обращения к самому маршрутизатору и не настраивают службу L2TP/IPsec.

Затем добавьте в /etc/config/firewall раздел для подключения файла:

config include
    option type 'nftables'
    option path '/etc/rule.nft'
    option position 'chain-pre'
    option chain 'input'

Позиция chain-pre размещает правила в начале цепочки input — перед штатным правилом, которое по данным conntrack принимает пакеты в состояниях established и related. Цепочка input общая для обращений к маршрутизатору со всех интерфейсов, поэтому ограничение порта 1701 в этом примере действует для всех зон. После сохранения файлов примените конфигурацию командой /etc/init.d/firewall restart.

Посмотреть действующие правила можно командой nft list ruleset. В выводе найдите таблицу inet fw4 и цепочку input: добавленные правила расположены перед строкой ct state established,related accept (рисунок 11).

Рисунок 11 — Пользовательские правила в цепочке input.

Полное описание параметров /etc/config/firewall и способов подключения пользовательских правил nftables приведено в официальной документации OpenWrt. Синтаксис самих правил описан в руководстве nftables.


Заключение

Подключение к внешней сети открывает локальным устройствам доступ к нужным ресурсам, но тем же путём могут поступать и нежелательные обращения. Межсетевой экран LT7x позволяет управлять этим обменом: политики по умолчанию задают общее поведение, зоны связывают настройки с интерфейсами, а отдельные правила уточняют, какие подключения разрешены.

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