Множественные IP-адреса в iptables

Автор sonny363, 08 августа 2022, 10:52:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

sonny363

Коллеги, нужен совет по правилам в iptables.
На одном из серверов хочу ограничить доступ по http(s) - чтобы порты были открыты только для конкретного пула IP-адресов. Беда в том, что этих IP довольно много: десятка три.

Настрогать шесть десятков разрешающих правил в iptables, конечно, можно, но как-то нефэншуйно совсем.
Подскажите, есть ли механизм "группового" разрешения доступа?
Адреса все из разных сетей, поэтому разрешать надо именно адреса, а не сети.
Переход с iptables на nftables или что иное - не предлагать. Мне проще плюнуть и правила настрогать, чем изучать новый интерфейс.

dzhoser

Это возможно только в том случае, если  необходимый IP-адрес источника в непрерывном диапазоне. например

iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.5 -p tcp -j ACCEPT
Если нет наверное нужно писать несколько правил
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

sonny363

dzhoser,как я писал, адреса все из разных сетей (разные провайдеры в разных населённых пунктах). Видимо, придётся, да :(

315th

#3
ipset используйте. Тысяча лет уже как можно  8)
ipset create myset hash:ip
for i in $(cat ipaddr.txt); do ipset -A myset $i; done
iptables -t $table -A INPUT -p tcp -m multiport --dports portA,portB,portC -m set ! --match-set myset src -j DROP
Ну, например.
Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

sonny363

Цитата: 315th от 25 октября 2022, 21:20:26ipset используйте. Тысяча лет уже как можно  8)
ipset create myset hash:ip
for i in $(cat ipaddr.txt); do ipset -A myset $i; done
iptables -t $table -A INPUT -p tcp -m multiport --dports portA,portB,portC -m set ! --match-set myset src -j DROP
Ну, например.


Спасибо, попробую.