Вопрос или проблема
Я использую OpenWrt 23.05 на моем Linksys WRT3200ACM и хочу заблокировать трафик между определенными устройствами на моей LAN и интернетом.
Моя текущая настройка довольно тривиальна. У моего маршрутизатора IP-адрес 192.168.90.1 в сети /24 с маршрутом по умолчанию 192.168.1.1 (я просто подключил его к моему настоящему маршрутизатору для экспериментов). Мои тестовые устройства имеют IP-адреса 192.168.90.158 и 192.168.90.218.
Я использую настройки по умолчанию для всего и настроил следующее правило (через интерфейс пользователя).
config rule
option name 'pi'
option src 'lan'
list src_ip '192.168.90.158'
option dest 'wan'
option target 'REJECT'
list proto 'all'
Я также попробовал:
- определить исходные зоны (lan)
- drop и reject
- разместить правило на позиции 0 в наборе правил.
но трафик по-прежнему не блокируется.
Я попробовал перезагрузить маршрутизатор после создания правил; перезагрузить их с помощью ‘fw4 reload’ и даже попытался отследить их с помощью nftables-tracer.py;
Перезагрузка не дает никакого эффекта. Трассировщик не показывает ничего, связанного с моими правилами (но показывает множество других соответствующих правил).
Обзор состояния брандмауэра в интерфейсе пользователя перечисляет правило, но говорит “0 Совпадений”.
Может, я упускаю какую-то глобальную конфигурацию или что-то еще?
Всего наилучшего!
Ответ или решение
У Вас возникла проблема с настройкой правил firewall в OpenWRT, что привело к игнорированию правил, направленных на блокировку определенного трафика. Давайте рассмотрим возможные причины и решения этой проблемы.
Теоретический аспект (Theory):
Сначала разберем, как работают правила firewall в OpenWRT. OpenWRT использует nftables
в версии 23.05 для управления сетевыми фильтрами. Правила определяют, какой трафик разрешен или запрещен между различными зонами сети, такими как LAN и WAN. Чтобы правило работало корректно, оно должно быть правильно сверстано и встроено в существующую цепочку правил.
Пример (Example):
Существует несколько ошибок, которые могут привести к игнорированию правил:
- Неправильная конфигурация зоны: Возможно, вы указали неверные зоны в правиле. В OpenWRT необходимо точно определять зоны, используя существующие в вашей конфигурации зоны, такие как
lan
иwan
. - Приоритет правил: Если правило находится в неправильном месте в списке правил, оно может быть проигнорировано в пользу других ранее установленных правил.
- Синтаксические ошибки: Даже небольшие ошибки в синтаксисе файла конфигурации могут привести к тому, что правило не будет применено.
Применение (Application):
-
Проверка конфигурации зон: Убедитесь, что вы правильно указали зоны. Ваша настройка должна включать зону источника
lan
и зону назначенияwan
. Подтвердите, что данные зоны созданы и активны в вашей конфигурации сети. -
Расположение правил: Поскольку вы уже пробовали перемещать правило в начало списка, убедитесь, что выше по списку нет других правил, которые могут допускать или игнорировать ваших два IP-адреса. Иногда правила
ACCEPT
илиFORWARD
могут преобладать над правиломREJECT
. -
Диагностика с помощью
nftables-tracer.py
: Тот факт, что вы не видите активных сопоставлений говорит о возможных проблемах в пути цепочки правил или что трафик даже не достигает вашего правила изначально. -
Проверка синтаксиса и конфигурации:
- Проверьте, все ли блоки в вашем конфиге правильно написаны, особенно касаемо кавычек, отступов и списков.
- Откройте файл конфигурации и убедитесь, что ваш ввод соответствует требованиям, описанным в официальной документации OpenWRT.
-
Обновление и перезапуск:
- Попробуйте сбросить и обновить конфигурацию firewall с помощью консольной команды:
fw4 reload
. Это может помочь применить изменения, если они не вступили в силу сразу после сохранения.
- Попробуйте сбросить и обновить конфигурацию firewall с помощью консольной команды:
-
Проверка логов и системных сообщений:
- Ознакомьтесь с логами системы и интерфейса OpenWRT, чтобы выявить возможные ошибки или предупреждения, связанные с вашей конфигурацией firewall.
Если все вышеперечисленное не решит вашу проблему, возможно, дело в более глубокой системной настройке или конфликтах с другими правилами. В таком случае рекомендуется:
- Изучить документацию OpenWRT для версии 23.05, чтобы понять возможные изменения в управлении firewall.
- Обратиться к сообществу пользователей OpenWRT, которые могут иметь схожий опыт или решения.
Такой многогранный подход позволит вам выявить и устранить проблему настройки правил firewall в OpenWRT.