Рейтинг:0

iptables: как заблокировать UDP между устройствами на стороне LAN шлюза (используя прошивку dd-wrt)

флаг cn

Цель: Чтобы заблокировать трафик UDP к устройствам на стороне LAN этого шлюза (используя прошивку dd-wrt), которые взаимодействуют с Интернетом и друг с другом, для тестирования определенных коммуникационных приложений, работающих на каждом устройстве.

Исключения: разрешить минимальный UDP, необходимый для поддержки основных сетевых операций, чтобы эти устройства продолжали обмениваться данными (например, через TCP) с Интернетом и друг с другом.

Что я пробовал до сих пор: Добавлены правила (через сеанс SSH) на этом роутере/шлюзе:

iptables -I ВПЕРЕД -p udp -j УДАЛИТЬ 
iptables -I ВВОД -p udp -j DROP

Наблюдал (что работает хорошо):

  • Правило iptables -I ВПЕРЕД -p udp -j УДАЛИТЬ успешно блокирует связь устройств на стороне LAN через UDP с устройствами на стороне WAN, что подтверждается невозможностью связи между этими устройствами с помощью утилиты нкот -у.

Наблюдается (что не работает):

  • Устройства на стороне LAN могут взаимодействовать друг с другом, используя UDP:
    • На устройстве-1 (на стороне локальной сети): нкэт -lvu # запустить прослушиватель ncat, используя UDP на порту по умолчанию 31337
    • На устройстве-2 (на стороне локальной сети): ncat -vu <ip-адрес-устройство-1> # запускаем вызывающую программу ncat, используя UDP на порту по умолчанию 31337

Ожидание (желаемый результат):

  • абонент ncat на устройстве-2 не в состоянии для связи с помощью UDP с прослушивателем ncat на устройстве-1.
  • абонент ncat на устройстве-2 способный для связи с помощью TCP с прослушивателем ncat на устройстве-1, не используя параметр ncat .

Дополнительная информация:

  • Использование команды iptables -I ВВОД -p udp -j DROP слишком сильно влияет на другой обмен данными, но все равно используется, чтобы продемонстрировать неэффективность этого правила в предотвращении обмена данными по протоколу UDP между этими двумя устройствами.
  • Использование оборудования: tp-link AC1750 (Archer C7 v5)
  • С помощью прошивки: dd-wrt, с настройкой "Режим работы = Шлюз"
  • Устройства за шлюзом: UWP, iOS, Android. Здесь приведены примеры с использованием устройств UWP (Windows 10).
  • я видел Как заблокировать UDP, но при этом разрешить исходящие UDP-соединения с iptables?, но не кажется эффективным в моем случае, о чем свидетельствует попытка iptables -I ВВОД -p udp -j DROP.
A.B avatar
флаг cl
A.B
Проверьте [ebtables](https://web.archive.org/web/20210902064033/https://ebtables.netfilter.org/), и если вы настаиваете на использовании неправильного инструмента, вот вам веревка, чтобы повеситься: [br_netfilter] (https://web.archive.org/web/20210529184120/http://ebtables.netfilter.org/documentation/bridge-nf.html), за исключением [отключено](https://openwrt.org/docs/guide -user/firewall/firewall_components#kernel_tuning_via_sysctl) в OpenWRT, поэтому может быть и в DD-WRT.
Ron Maupin avatar
флаг us
Мостовой трафик (тот же домен уровня 2) не проходит через маршрутизаторы, поэтому вы не можете использовать маршрутизатор для блокировки трафика. Коммутатор или WAP — это мост уровня 2.
Рейтинг:1
флаг us

Скорее всего, вы не можете вмешиваться в трафик LAN-to-LAN. Все известные мне устройства, работающие под управлением DD-WRT/OpenWRT, имеют встроенный коммутатор, который переключает трафик напрямую между устройствами локальной сети на уровне 2.

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

Вы можете попробовать настроить систему Linux с несколькими адаптерами Ethernet, а затем соединить эти адаптеры вместе. Затем вы можете использовать br_netfilter заставить трафик L2 проходить через Netfilter, позволяя перехватывать трафик.

флаг cn
Этот ответ подтверждается комментарием @ron-maupin, и оба варианта кажутся мне разумными. Чтобы решить мою проблему: я буду размещать другие устройства за разными маршрутизаторами, что означает, что правила в таблице FORWARD должны эффективно блокировать UDP между этими устройствами. Спасибо!

Ответить или комментировать

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