Рейтинг:0

Как «DROP allwhere» в таблице FORWARD не делает мой маршрутизатор бесполезным?

флаг cn

Недавно я узнал об IPTables и IP-маршрутизации, чтобы настроить одноплатный компьютер так, чтобы он изолировал конкретную машину от остальной части моей сети, но при этом разрешил ей доступ в Интернет, помимо нескольких других правил.

Я решил использовать эти новые знания для повышения безопасности своих встроенных мультимедийных устройств (и, возможно, запретить им показывать рекламу и сообщать телеметрию). У меня в шкафу был старый роутер ASUS с прошивкой Merlin, поэтому я настроил его и заработал SSH.

В отличие от моего предыдущего брандмауэра на основе SBC, у которого была новая установка Ubuntu и чистый лист в iptables, маршрутизатор ASUS поставляется с несколькими правилами, определенными из коробки, и таблица FORWARD меня немного смущает:

Цепочка FORWARD (политика DROP)
целевая защита выбор источника назначения
ПРИНИМАТЬ все -- в любом месте в любом месте СВЯЗАННО, УСТАНОВЛЕНО
УДАЛИТЬ все -- в любом месте в любом месте
УДАЛИТЬ все -- в любом месте состояние INVALID
ПРИНИМАТЬ все -- в любом месте в любом месте
ПРИНЯТЬ все -- где угодно и где угодно ctstate DNAT
ПРИНИМАТЬ все -- в любом месте в любом месте

Насколько я понимаю, это помешает маршрутизатору работать так, как он работает. Например, если телевизор хочет инициировать запрос к Netflix, маршрутизатор должен увидеть, что пакет пришел от NIC # 2 и предназначен для WAN NIC, а не для какого-либо внутреннего процесса, и поэтому должен быть помещен в таблицу FORWARD. Первое правило не должно применяться, потому что пакет новый - еще не было ответов, чтобы присвоить ему статус RELATED или ESTABLISHED. Следующее правило... должно отказаться от него. Таким образом, пакет не достигает Netflix, и ничего не происходит.

На самом деле, мне кажется, что это должно предотвращать все, что не является прямой связью между самим маршрутизатором (например, интерфейсом администратора). Но это, конечно, не так, поскольку подключенные устройства без проблем подключаются к Интернету. Итак, явно есть что-то, что мне не хватает. Маршрутизаторы ASUS не используют таблицу FORWARD? Или правила не оцениваются сверху вниз? Почему не приведенная выше таблица FORWARD предотвращать мой маршрутизатор не работает должным образом в качестве коммутатора?

флаг us
В вашем списке правил IPTables отсутствует информация об интерфейсе для каждого правила. Скорее всего, правила DROP предназначены для трафика, поступающего через WAN-интерфейс. Пожалуйста, добавьте вывод `iptables -vL` к вопросу.
Ginnungagap avatar
флаг gu
Вы уверены, что устройства используют IPv4?
флаг cn
@TeroKilkanen Это именно то, что происходит! Мне показалось странным, что в нем было несколько, казалось бы, одинаковых правил. В Ubuntu я привык к `iptables -S`, который отображает полный эквивалент командной строки для каждого правила, но которого нет в версии ОС ASUS. Не стесняйтесь публиковать это как ответ.
Nikita Kipriyanov avatar
флаг za
Единственный гарантированный способ узнать полную конфигурацию брандмауэра — `iptables-save`. Нетрудно найти вопросы даже в ServerFault, которые возникли исключительно из-за того, что пользователь использовал какой-то вариант `iptables -L` для вывода списка правил вместо того, чтобы делать правильный дамп с помощью `iptables-save`. После последнего они увидели реальность и вопрос отпал.
Рейтинг:1
флаг us

В вашем списке правил IPTables отсутствует информация об интерфейсе для каждого правила. Скорее всего, правила DROP предназначены для трафика, поступающего через WAN-интерфейс.

iptables-сохранить или же iptables -S можно использовать для отображения полных команд, создавших правила.

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

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