Цепочка forward для корпоративных клиентов является основной цепочкой, где мы будем делать большую часть работы.
Например, мы создали гостевую Wi-Fi-сеть. Трафик, который идет из гостевого Wi-Fi в рабочую сеть, тоже будет защищаться цепочкой forward, поэтому правила в цепочке forward для корпоративных сетей это наиболее объемная часть работы, которую мы можем себе представить.
Заходим в раздел IP → Firewall → Filter Rules делаем фильтрацию только на цепочке forward.
Правила из default firewall для SOHO устройств.
6-е правило разрешает IPsec (В разделе Advanced есть условие in ipsec).
/filter add chain=forward action=accept ipsec-policy=in,ipsec comment="defconf: accept in ipsec policy"
7-е правило разрешает исходящие пакеты IPsec.
/ip firewall filter add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
8-е правило связано с Fasttrack и оптимизацией производительности нашего роутера.
/ip firewall filter add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=yes
9-е правило связанно с состоянием соединений Established (Установленные), Related (Связанные) и Untracked (Исключенные из Connection Tracking).
/ip firewall add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
10-е правило – запрет INVALID (некорректных) пакетов.
/ip firewall add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
11-е правило — запрет трафика, который идет с внешнего интерфейс листа WAN в нашу локальную сеть, кроме Destination Nat (пробросов).
/ip firewall add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
Этих правил достаточно для защиты нашей локальной сети с внешних интерфейсов.
Чтобы запретить выход в интернет пользователям или выход в Интернет на конкретные сайты, или выход по каким-то определенным портам в интернет?
Для этого нужно сделать правила forward.
Например, мы хотим запретить выход по 443 и 80 портам для доступа к ресурсам:
Если мы ориентируемся на In.Interface (трафик, который будет идти от клиентов
нашей локальной сети в интернет):
Тем самым запретим доступ наших пользователей в интернет по 80 и 443 портам.
Также мы можем выбрать опцию Out.Interface и выбрать внешний интерфейс лист WAN (запрещаем выход во внешнюю сеть по данным портам)
Также мы можем скомбинировать интерфейс листы или же выбрать какой-то конкретный интерфейс, если мы собираемся работать не с интерфейс листами.
Ко всему прочему, мы можем использовать также инверсию, то есть мы можем сделать так, чтобы нельзя было ходить в интернет кроме как по портам 80 и 443. Опция является Not, обозначается восклицательным знаком, то есть как на скриншоте ниже:
Данное правило сейчас выглядит следующим образом:
Трафик, проходящий через роутер, о чем свидетельствует цепочка forward по протоколу tcp, кроме 80 и 443 порта с Out.Interface WAN. На вкладке Action ставим drop (запретить).
Мы можем использовать различные интерфейс листы для решения каких-то конкретных задач.
То есть мы можем делать, например, адрес лист.
который будет содержать в себе Запретные ресурсы и уже этот адрес лист заполнять теми ресурсами, на которые нашим пользователям ходить запрещено.
Также цепочка Forward может быть использована для разграничения доступа между сетями. Например, мы можем использовать адресацию наших подсетей в поле Source
Запрещаем
И таким образом мы сделали правило, которое запрещает трафику из сети 192.168.0.0/24 доступ к сети с адресом 192.168.1.0/24. Это правило запрещает только такие пакеты.
Если же пакет будет идти с сети 192.168.1.0/24 на сеть 192.168.0.0/24, этот пакет пройдет и для этого понадобится сделать еще одно правило, которое запретит данный обмен между сетями.
Если нам нужны другие порты (22, 21, 25, 445 и т. п.) и любой другой набор правил, мы постепенно делаем большое количество правил, связанных именно с различными сервисами. И это будет работать постепенно относительно позиции правил в цепочке forward, мы их можем писать уже ниже потому, что в данном случае наши правила имеют другой набор Out.Interface.
То есть, если в правилах по умолчанию In.Interface являлся интерфейс WAN, в нашем случае у нас In.Interface уже не используется, мы используем Out.Interface.
С вами скоро свяжутся