iptables: отбросить все, кроме группы

У меня есть это правило, которое работает для блокировки всех соединений для этой группы:

iptables -I OUTPUT 1 -m owner --gid-owner has-internet -j DROP

Однако я хочу изменить его, чтобы заблокировать все соединения, кроме этой группы. Я делаю это:

iptables -I OUTPUT 1 -m owner ! --gid-owner has-internet -j DROP

Но это не работает. Что я делаю не так?

0
задан 19 January 2018 в 04:03

1 ответ

Вам на самом деле нужны два правила для этого.

Во-первых, правило для приема трафика, поступающего из этой группы.

iptables -I OUTPUT 1 -m owner --gid-owner has-internet -j ACCEPT

Далее, правило для блокировки всего другого трафика.

iptables -I OUTPUT 2 -j DROP

(ПРИМЕЧАНИЕ: Если это ЕДИНСТВЕННЫЕ правила в вашей таблице iptables 'OUTPUT, просто используйте -A OUTPUT вместо -I OUTPUT #, но делайте это по порядку. Вам не нужно использовать -I, если у вас нет других правил в указанной таблице и вы пытаетесь вставить правила в другую точку таблицы, отличную от конца.)

Обратите внимание, что это также может привести к некоторым другим проблемам, таким как для вещей с root, суперпользователем или другими учетными записями служб, которые пытаются установить связь, и могут создавать другие проблемы с сетевым подключением в самой системе, которые не имеют прямого отношения к доступу в Интернет.

1
ответ дан 19 January 2018 в 04:03

Другие вопросы по тегам:

Похожие вопросы: