Перейти к содержимому
Калькуляторы

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

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

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

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.