Одно правило iptable сопоставление / 32 и переход

Нам нужно установить одно правило iptables, которое соответствует каждому исходному / 32 пользовательскому ip и перейти к 'цепочке пользователей':

iptables -A INPUT -s "EVERY_USER-IP/32" -j "USER_IP/32_CHAIN"

поскольку у нас есть сотни пользователей, нам нужно / мы предпочитаем избегать использования множества правил user-ip / 32, например:

iptables -A INPUT -s "USER-IP1/32" -j "USER_IP1/32_CHAIN"

iptables -A INPUT -s "USER-IP2/32" -j "USER_IP2/32_CHAIN"

...

-1
задан 11 December 2018 в 16:52
2 ответа

Если вы хотите иметь другой набор правил брандмауэра для каждого пользователя-ip, вам нужно создать цепочку для каждого пользователя-ip. Тогда вам нужно заполнить каждую цепочку правильными правилами.

Мы не можем предложить лучшего способа, если вы не расскажете нам о вашем наборе правил и о том, действительно ли необходимо иметь совершенно другой набор правил для каждого user-ip.

Если вы беспокоитесь о возможности iptables обрабатывать большой набор правил, у меня есть работающий брандмауэр с +60,000 правил.

.
1
ответ дан 5 December 2019 в 19:21

Первая половина вашего вопроса звучит как идеальный вариант использования ipset

Вы управляете коллекцией ip-адресов с помощью ipset, и в ваших наборах правил iptables вы ссылаетесь на эту коллекцию, а не на отдельные ip-адреса. Это делает вашу базу правил намного меньше и будет работать гораздо лучше.

ipset create our-users hash:net hashsize 4096

Добавьте ip-адреса в эту новую коллекцию:

ipset add our-users 192.168.0.5 
ipset add our-users 192.168.0.100 

А затем, когда исходный ip-адрес присутствует в этой коллекции, сделайте что-нибудь полезное:

iptables -I INPUT  -m set --match-set our-users src -j ALLOW 

Но вторая часть вашего текущего вопроса, кажется, подразумевает, что для каждого известного IP-адреса источника у вас есть (некоторые) пользовательские правила в уникальной цепочке. Если это действительно так, то вы действительно получите множество правил.

.
1
ответ дан 5 December 2019 в 19:21

Теги

Похожие вопросы