Jump to content

Recommended Posts

Posted

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

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

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

 

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

 

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

 

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

Posted

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.