IPTABLES для блокировки всех исходящих соединений, кроме выбранных сетей

IPTABLES для блокировки всех исходящих соединений, кроме выбранных сетей

Имеется машина брандмауэра/шлюза с публичной сетью eth0 и частной сетью eth1 ( 192.168.1.0).

Я хотел бы заблокировать все ВЫХОДНЫЕ соединения для частных пользователей (eth1), за исключением нескольких сетей, таких как: 123.123.123.0/24и 91.12.31.0/24т. д., поскольку они находятся в нашей городской сети.

Здесь много вопросов по iptables, но я не смог найти способ решить эту проблему.

Может также случиться, что какой-то пользователь, скажем, 192.168.1.10, не будет ограничен этими сетями.

Если я сделаю:

IPTABLES -P OUTPUT DROP
IPTABLES -A OUTPUT -d 123.123.123.0/24 -s 192.168.1.51 -j ACCEPT
...that would make me adding rules per user multiplied by number of networks

Так есть ли способ ОБЪЕДИНИТЬ эти городские сети?

решение1

Мне кажется, вам нужен ipsets.Здесьэто ссылка, которую могут читать люди. Для установки, если вы используете Fedora, посмотритеэтот А если на Ubuntu посмотретьэтот.

Связанный контент