Перекрестная изоляция сетей по адрес листам

Тема в разделе "Маршрутизация", создана пользователем man_street, 17 ноя 2015.

  1. man_street

    man_street Новый участник

    Дано:
    • 4 сети(по факту больше и сети смешанные, но IP не пересекаются(к примеру, 192.168.1.1 принадлежит Lan1, 192.168.1.2 принадлежит Lan2 и т.д.) т.е. фильтровать по ip не вариант, слишком много правил будет и читабельность с гибкостью сильно падает):
    -192.168.1.0/24
    -192.168.2.0/24
    -192.168.3.0/24
    -192.168.4.0/24
    • 9 адрес листов(для отражения сути):
    -192.168.1.0/24 - Lan1
    -192.168.2.0/24 - Lan1
    -192.168.2.0/24 - Lan2
    -192.168.3.0/24 - Lan2
    -192.168.3.0/24 - Lan3
    -192.168.4.0/24 - Lan3
    -192.168.4.0/24 - Lan4
    -192.168.1.0/24 - Lan4
    -192.168.0.0/16 - local
    • по 4 правила фильтра на каждый адрес лист (для Lan2, Lan3 и Lan4 будут поставлены соответствующие листы за место Lan1)
    Код:
    add chain=forward dst-address-list=Lan1 src-address-list=Lan1
    add chain=forward dst-address-list=!local src-address-list=Lan1
    add chain=forward dst-address-list=Lan1 src-address-list=!local
    add action=drop chain=forward dst-address-list=Lan1
    Коментарии к фильтру
    \\разрешаем прохождение пакетов "своих" сетей (адресов)
    \\Есть правила проброса портов для доступа из вне, их касаться не должно, так же некоторые клиенты используют как основной шлюз
    \\Аналогично правилу выше, но в обратном направлении
    \\запрещаем прохождение всех кто не попал под правила выше, т.е. например, сети 192.168.1.0/24 запрещаем доступ к сети 192.168.3.0/24
    • Подключения через vpn, локальные сети, соседние маршрутизаторы
    Что имеем:
    При наличии записи сети, к примеру, 192.168.1.0/24 в двух адрес листах трафик попадает под 4е правило, но когда на сеть остается одна запись, все работает корректно. Так же при отключении блокирующего правила и наличии сети в двух адрес листах соединение начинает работать, но сеть 192.168.1.0/24 может получить доступ к сети 192.168.3.0/24, а этого допускать нельзя.

    Вопрос:
    Каким образом можно настроить фильтрацию сетей на основе адрес листов? т.е. появился новый клиент, с любым адресом из 192.168.0.0/16, мы его добавляем в адрес лист(несколько адрес листов) и он получает доступ к сетям(ресурсам) относящимся к этому адрес листу
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Сверху не хватает establised и related
    Далее у вас 2 списка
    list-clietns-x
    list-resources-x
    Ну и пишем
    Код:
    add chain=forward dst-address-list=list-resources-x src-address-list=list-clietns-x
    Снизу дропаем все.
    Конструкция вида
    Код:
    add chain=forward connection-nat-state=dstnat 
    указанная сверху скорее всего спасет отца русской демократии ;)