Jump to content
Калькуляторы

Редирект некоторых портов для некоторых сетей с помощью iptables

Есть сервер, на нём открыто 40-50 TCP пртов.

Есть несколько подсетей, пользователи которых должны иметь доступ ко всем портам.

Все остальные должны иметь доступ только к нескольким портам, при обращении к остальным должен происходить редирект, например, на 45000 порт.

 

Как правильно написать правила iptables для такой ситуации?

 

Судя по документации, нужно создать таблицу, в которой поместить все подсети которым разрешен полный доступ с -j ACCEPT, после чего создать ряд правил - первым правилом разрешить доступ ко всем портам для ранее созданной таблицы, последующими десятью сделать редирект для десяти портов, для всех IP-адресов не входящих в таблицу. Правильно ли это?

 

Перепробовал несколько десятков вариантов, но так и не смог добиться желаемого результата, маловато опыта с iptables. Может быть кто-нибудь уже реализовывал это и готов поделиться примером?

Share this post


Link to post
Share on other sites

Простое разрешение или запрет, без редиректа на порт 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,

но по умолчанию, как правило, в системе его нет.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this