В предыдущей статье мы познакомились с цепочкой «input», с цепочкой «forward», а теперь настало время познакомиться с такой редкой цепочкой как «output».
А что же это за трафик?
Если, например, запустим поле «New Terminal» в Mikrotik и там используем команду:
ping 8.8.8.8
То как раз mikrotik и сгенерирует трафик.
После этого теста возникает резонный вопрос: А зачем нужна нам цепочка output? Что мы будем в ней делать? Мы будем защищаться от самого роутера? То-есть защищать нашу локальную сеть от трафика, который генерирует наш роутер?
На самом деле скорее нет, чем да.
Если рассмотреть наш роутер как полноценную коробочную систему, то смысла в запрете того или иного трафика, который генерирует наш роутер, нет. С чем это связанно? Это связанно с тем, что если наш роутер будет скомпрометирован, то есть кто-то узнает от него пароль или каким-то образом получит к нему доступ, то первым делом, что он сделает, он выключит все правила в firewall и естественно он выключит и наши правила, написанные в цепочке output. Тогда зачем нам требуется эта цепочка?
Цепочка output нам может понадобиться в некоторых конфигурациях, связанных с оптимизацией настройкой сети. Например: Нам может понадобиться правило, которое будет запрещать посылать пакеты на проверочный адрес. Ну, например, в данном случае я пишу destination address 8.8.8.8 в случае второго провайдера то есть если мы используем двух провайдеров и мы не хотим, чтобы наши пакеты шли на 8.8.8.8 через второго провайдера мы можем сделать правило, которое будут выглядеть следующим образом:
Если пакет направляется на адрес 8.8.8.8, пакет имеет протокол icmp и out interface является интерфейс второго провайдера, то мы запрещаем данные пакеты.
/ip firewall filter add chain=output dst-address=8.8.8.8 protocol=icmp out-interface=ether2 action=drop
Подобное правило может быть использовано для запрещения обновлений нашего роутера. То есть мы можем вычислить адреса микротиковских серверов, с которых скачиваются обновления для Mikrotik и запретить доступ к этим самым серверам.
Также мы можем использовать цепочку output для подсчета обратного трафика от наших VPN-серверов.
Например, у нас есть VPN-сервер. Допустим Open VPN, который работает по протоколу tcp и использует порт 1194. В данном случае мы используем SRC порт (Не DST как мы делали в цепочке input), указывая с какого порта мы будем идти с нашего Open Vpn-сервера.
/ip firewall filter add chain=output protocol=tcp src-port=1194 action=passthrough
Мы можем сделать action – passthrough (об экшенах мы поговорим в другой статье) и тем самым мы можем посчитать, какое количество пакетов будет сгенерировано нашим роутером создавая соединение на Open VPN-сервер.
Если у нас есть цепочка input, которая защищает доступ на роутер, на службы роутера (Например, в данном случае доступ к Open VPN-серверу), то у нас есть обратные пакеты, которые генерирует наш роутер с порта Open VPN-сервера
Также мы можем посмотреть, какое количество пакетов генерирует роутер с порта, например, нашего WinBox
В правиле указываем:
/ip firewall filter add chain=output protocol=tcp src-port=8291 action=passthrough
Как мы видим, у нас есть какие-то пакеты. Это те пакеты, которые в данном случае генерирует наш роутер
Мы можем так же сделать правило в input, чтобы посмотреть, какие пакеты сейчас у нас идут с локальной сети.
/ip firewall filter add chain=input protocol=tcp src-port=8291 in-interface-list=LAN action=passthrough
И поставим его повыше.
Таким образом мы видим те, которые идут в роутер и из роутера (правило, созданное в предыдущем пункте)
Если мы поднимем оба эти правила, то будет наглядно более понятно, какие у нас есть входящие и исходящие пакеты.
Цепочка output в 90% конфигураций не требуется, поэтому настраивать отдельно цепочку для безопасного использования вашего роутера не требуется. Так же хотелось бы отметить, что в конфигурацию по умолчанию настройки, связанные с цепочкой output, не входит.
На этом обзор цепочек и цепочки output закончен.
С вами скоро свяжутся