Назад | Перейти на главную страницу

Конфигурация IPTables, чтобы разрешить все соединения, закрывать / запрещать только после отправки данных

Я хочу настроить брандмауэр IPTables таким образом, чтобы:


Я осмотрелся и даже попробовал несколько собственных конфигураций, но я не очень хорошо знаком с IPTables и не добился успеха. Моя первая попытка была такой:

iptables -F
iptables -A INPUT -I lo -j ACCEPT
iptables -A INPUT -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT //example of allowed port
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

Который, как я понимаю, должен выполнять следующее:

Однако соединения с портом 22 по-прежнему не работают. connect(). В идеале общение с 22 должно быть беспрепятственно, и connect() к любому другому порту успешно, но затем соединение разрывается send(...) называется.

Ваша установка, вероятно, будет делать то, что вы хотите, как только у вас есть служба, прослушивающая соответствующий порт (а). Iptables - это фильтр пакетов, а не конечная точка соединения.