Цель: Чтобы заблокировать трафик 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
.