Neko-san Опубликовано 2 июля, 2010 · Жалоба Есть сервер, на нём открыто 40-50 TCP пртов. Есть несколько подсетей, пользователи которых должны иметь доступ ко всем портам. Все остальные должны иметь доступ только к нескольким портам, при обращении к остальным должен происходить редирект, например, на 45000 порт. Как правильно написать правила iptables для такой ситуации? Судя по документации, нужно создать таблицу, в которой поместить все подсети которым разрешен полный доступ с -j ACCEPT, после чего создать ряд правил - первым правилом разрешить доступ ко всем портам для ранее созданной таблицы, последующими десятью сделать редирект для десяти портов, для всех IP-адресов не входящих в таблицу. Правильно ли это? Перепробовал несколько десятков вариантов, но так и не смог добиться желаемого результата, маловато опыта с iptables. Может быть кто-нибудь уже реализовывал это и готов поделиться примером? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 июля, 2010 · Жалоба Простое разрешение или запрет, без редиректа на порт 45000: iptables -N safeports iptables -A safeports -s 1.2.3.4 -j ACCEPT iptables -A safeports -s 5.6.7.8 -j ACCEPT ... iptables -A safeports -j REJECT ... iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ... iptables -A INPUT -p tcp -m state --state NEW -m multiport --dports 22,23,80,443 -j safeports Вариант с редиректом: iptables -t nat -N redir iptables -t nat -A redir -s 1.2.3.4 -j RETURN iptables -t nat -A redir -s 5.6.7.8 -j RETURN ... iptables -t nat -A redir -p tcp -j REDIRECT --to-port 45000 ... iptables -t nat -A PREROUTING -p tcp -m state --state NEW -m multiport --dports 22,23,80,443 -j redir ... iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ... iptables -A INPUT -p tcp -m state --state NEW -m multiport --dports 22,23,80,443,45000 -j ACCEPT Вместо поштучного перечисления разрешённых адресов можно использовать ipset, но по умолчанию, как правило, в системе его нет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...