Mikrotik настройка firewall и nat


Mikrotik NAT как настроить НАТ на маршрутизаторе Микротик

Для настройки NAT маршрутизатора  Микротик  сначала скачиваем утилиту winbox и подключаемся к роутеру, где скачать,  и инструкция  по подключению описано здесь. Настроить Мikrotik NAT на маршрутизаторе можно несколькими способами, рассмотрим их по порядку.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Простая настройка NAT

После подключения к роутеру открываем  вкладку NAT меню ip-firewall,  нажимаем кнопку добавить новое правило(красный крестик)

В открывшемся окне,  вкладка General заполняем минимально необходимые поля

Chain-канал приемник, нам нужно принимать из локальной сети, поэтому выбираем srcnat

Out. Interface – Внешний интерфейс маршрутизатора, тот которым он смотрит в интернет

Далее открываем вкладку Action

В поле Action выбираем masquerade(Маскарад).  Теперь будет происходить подмена локальных  ip, адресом предоставленный провайдером.  Минимальная настройка НАТ на Mikrotik закончена. Рассмотрим более сложную настройку NAT на Микротик.

Настройка NAT для нескольких внешних ip

Если провайдер выделяет несколько внешних ip, или у нас подключены несколько операторов, и мы хотим  сделать выход из разных подсетей или  локальных  ip  в интернет под разными адресами, то  есть несколько способов.

  1. Если внешние ip настроены на разных интерфейсах маршрутизатора. Здесь все просто, прописываем Src.Address нужный ip  или сеть, а исходящим интерфейсом выбираем  нужный интерфейс .

Указываем в source ip нужные подсети, или одиночные ip адреса. В указанном примере, все пакеты от компьютеров с ip 192. 168.0.2-192.168.0.127 будут идти через интерфейс ether1-gareway, а пакеты с  192.168.0.128-192.168.0.255 будут идти с интерфейса ether2-gateway, соответственно в интернете они будут видны под ip address этих интерфейсов.

  1. Если от провайдера приходит один провод по которому нам дают несколько внешних ip, нам не хочется задействовать для каждого соединения свой порт, то все внешние ip  можно настроить на одном порту

К примеру у нас на одном порту настроены ip address 1.1.1.1, 2.2.2.2  и целая сеть 3.3.3.3/24 как показано на рисунке

Нам нужно настроить выход  для разных локальных компьютеров с внешних ip  1.1.1.1, 2.2.2.2 3.3.3.3 и 3.3.3.4.

Рассмотрим настройки на примере интерфейса с ip 3.3.3.4, все остальные будут идентичны

На вкладке General указываем только Src.Address, сеть или local  с которого будут идти пакеты. Далее на вкладке Action делаем следующие настройки

В поле Action выбираем dst-nat или netmap.  Отличие dst  nat от  netmap заключается в том, что netmap новый и улучшенный  вариант dst nat. Поэтому я использую его.

В поле To Address прописываем  адрес под котором нужно что бы наша сеть выходила в интернет.

Также в поле действия можно выбрать следующие операции.

Accept – принять будет принят и пройдет через маршрутизатор без изменений

add-dst-to-address-list — добавить address назначения в список адресов, заданный параметром address-list

add-src-to-address-list — добавить address источника в список адресов, указанный параметром address-list

dst-nat — заменяет address назначения и / или порт IP-пакета на значения, заданные параметрами-адресами и портами, этот параметр бвыше был рассмотрен

jump — переход к определяемой пользователем цепочке, заданной значением параметра target-jump

log — добавить сообщение в системный журнал, содержащий следующие данные: in-interface, out-interface, src-mac, protocol, src-ip: port-> dst-ip: порт и длина пакета. После согласования пакета он переходит к следующему правилу в списке, аналогично переходу

masquerade — Маскарад рассмотренный в начале статьи. Подмена внутреннего адреса машины из локальной сети на адрес роутера;

netmap — создает статическое отображение 1: 1 одного набора IP-адресов другому. Часто используется для распространения общедоступных IP-адресов на хосты в частных сетях

passthrough — если пакет соответствует правилу, увеличьте счетчик и перейдите к следующему правилу (полезно для статистики).

redirect — заменяет порт назначения IP-пакета на один, заданный параметром-портом-портом и адресом назначения на один из локальных адресов маршрутизатора

return — передает управление обратно в цепочку, откуда произошел прыжок

same — дает конкретному клиенту один и тот же IP-адрес источника / получателя из заданного диапазона для каждого соединения. Это чаще всего используется для служб, ожидающих одного и того же адреса клиента для нескольких подключений от одного и того же клиента

src-nat — заменяет исходный адрес IP-пакета на значения, заданные параметрами to-addresses и to-ports

Если нужно настроить проброс портов из интернета на ресурсы локальной сети, то как это сделать подробно описано здесь

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Mikrotik настройка простого Firewall

Сегодня хочу поподробнее раскрыть тему защиты роутеров популярной латвийской марки. Речь пойдет о базовой настройке Firewall в Mikrotik для обеспечения безопасности и удобства. Статья на эту тему была написана уже давно, но я решил ее полностью переделать и актуализировать.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курcе по администрированию MikroTik. Автор курcа, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Введение

Default firewall в Mikrotik

Firewall и базовая настройка безопасности

Safe Mode

Порядок расположения правил в Firewall

Цепочки правил

Примеры готовых правил

Настройка NAT в микротик

Проброс портов

Защита подключения через winbox

Fasttrack

Как на микротике отключить файрвол

Заключение

Помогла статья? Подписывайся на telegram канал автора

Данная статья является частью единого цикла статьей про Mikrotik.

Введение

Долгое время у меня была опубликована статья про простую настройку файрвола на микротик. Там были перечислены базовые правила для ограничения доступа к роутеру, и тем не менее, статья собрала более 200 тыс. просмотров. Потом была вторая версия статьи, в которой тем не менее были неточности. После пройденного обучения, я актуализирую ее в третий раз.

Некоторое время назад я обновил и актуализировал статью про базовую настройку mikrotik. В комментариях многие люди пеняли мне на то, что я совсем не уделил внимание настройке фаервола. Мне не захотелось мешать все в кучу, поэтому я пишу отдельную подробную статью на эту тему, а в настройке роутера оставлю ссылку на нее.

Итак, будем считать, что вы уже настроили роутер примерно так же, как я описал в своей статье. Есть локальная сеть, которая будет выходить в интернет через микротик. И есть сам микротик, который хочется защитить, ограничив доступ для всего лишнего, разрешив только то, что нам нужно.

192.168.88.1 локальный адрес микротика
bridge1-lan название бриджа, в который объединены все интерфейсы для локальной сети
ether1-wan интерфейс для внешнего подключения WAN
192. 168.88.0/24 локальная сеть, которую обслуживает микротик

Default firewall в Mikrotik

Если вы используете дефолтную конфигурацию роутера, то она по-умолчанию имеет стандартные правила firewall. Привожу список стандартных правил (rules) с комментариями. Напоминаю, что экспорт правил firewall в mikrotik можно выполнить следующей командой:

>> ip firewall export file=rules

Вот список стандартных правил:

/ip firewall filter
 add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
 add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
 add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
 add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
 add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
 add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
 add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
 add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
 add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
 add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
 /ip firewall nat
 add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
 

В принципе, по приведенным комментариям примерно понятно, что тут происходит. Дропаются все входящие и транзитные соединения не из локальной сети, разрешен пинг - icmp, разрешен ipsec, разрешены установленные соединения. Все. Ну и настроен NAT через WAN интерфейс.

Во многих случаях данных правил по-умолчанию может быть достаточно обычному пользователю, который просто настроил маршрутизатор дома для выхода в интернет. Берите на вооружение, если вам от маршрутизатора больше ничего не надо.

Если же вы хотите получше разобраться в устройстве firewall и попробовать настроить его самостоятельно, то давайте разбираться дальше вместе.

Firewall и базовая настройка безопасности

Давайте теперь немного порассуждаем, зачем нужен файрвол и какие вопросы он решает. Причем не только в контексте микротика, а вообще. Сейчас каждый доморощенный админ рассказывает, как важно всегда настраивать firewall, иногда даже не понимая, для чего он нужен. Лично я не сторонник создания лишних сущностей, поэтому там где межсетевой экран не нужен, я его не настраиваю.

Сетевой экран позволяет настраивать доступ как к самому шлюзу, так и к ресурсам за ним. Допустим, у вас не запущено никаких сервисов на роутере, и нет никакого доступа извне в локальную сеть. У вас есть какая-то служба на шлюзе, с помощью которой к нему подключаются и управляют (ssh, winbox, http и т.д.), причем ограничение доступа к этой службе настраивать не планируется. Вопрос - зачем вам в таком случае настраивать фаервол? Что он будет ограничивать и какие правила туда писать? В таком случае вам будет достаточно отключить все сервисы на роутере, которые слушают подключения из вне и все.

На самом деле такой кейс очень популярный дома или в мелких организациях, где нет постоянного админа. Просто настроен какой-то роутер, поднят NAT и все. Я понимаю, что не правильно не настраивать ограничения на доступ к управлению, но я рассказываю, как часто бывает. То есть firewall должен решать конкретную задачу по ограничению доступа к ресурсам, а не существовать просто так, чтобы был.

Еще популярны случаи, когда настроена куча правил, а в конце все равно стоит accept для всех подключений. Такие ляпы я сам иногда делал, когда отлаживал где-то работу сервиса и забывал потом вернуть обратно ограничения. Фаервол вроде настроен, но реально его нет. Если отключить - ничего не изменится.

К чему я все это написал? К тому, что прежде чем настраивать firewall, надо определиться с тем, для чего мы это делаем. Какие разрешения или ограничения и для кого мы будем вводить. После этого можно переходить к настройке.

Safe Mode

У Mikrotik есть интересное средство в виде Safe Mode, которое позволяет относительно безопасно настраивать Firewall удаленно. Суть его очень простая. Вы включаете этот режим через соответствующую настройку.

Далее, если вы некорректно выйдете из этого режима, то все созданные вами настройки будут отменены. Корректным выходом из режима является ручное его отключение через ту же настройку. Таким образом, если во время настройки фаервола у вас пропала связь из-за неверного правила или по какой-то другой причине, Микротик откатит обратно сделанные вами изменения и вы сможете снова подключиться к роутеру.

В терминале этот режим включается комбинацией клавиш CTRL+X. Время ожидания, перед откатом изменений максимум 9 минут (время TCP timeout). Подробнее об этом режиме можно почитать в официальной документации.

Порядок расположения правил в Firewall

Перед началом настройки firewall в mikrotik, отдельно остановлюсь на одном очень важном моменте - порядке расположения правил. Многие, да и я сам ранее, не придавал большого значения этому, так как не сталкивался с высокими нагрузками на сетевое оборудование. Если нагрузки нет, то разницу не замечаешь. Тем не менее, лучше ее понимать.

Пакеты проходят по списку правил по порядку, сверху вниз. Если пакет соответствует какому-то правилу, то он прекращает движение по цепочке. Из этого следует важный вывод - первыми в цепочке должны быть правила, которые охватывают максимальный объем трафика, чтобы он дальше не обрабатывался устройством. Примером такого правила является разрешение пакетов уже установленных (established) или связанных (related) соединений, которые ранее были разрешены каким-то правилом. Повторно проверять по всем правилам их не нужно. Сделаем такое правило для цепочки input - входящие соединения роутера.

Я сначала приведу это правило в виде команды для терминала, который вы можете открыть через winbox. Введите это правило через консоль, а потом уже изучите через визуальное представление. Переходим в соответствующий раздел IP -> Firewall и добавляем правило. Рекомендую всегда ставить комментарии для правил. Так их проще анализировать.

/ip firewall filter
 add action=accept chain=input comment="accept establish & related" connection-state=established,related

В дефолтном правиле фаервола сюда же добавлены untracked подключения. Я не стал их добавлять, так как обычно не использую данную возможность. Untracked - это пакеты, не отслеживаемые connection tracker. То есть идущие мимо многих функций фаервола. В конце статьи я отдельно расскажу об этой возможности.

Цепочки правил

Первое правило фаервола для цепочки input мы уже написали, но при этом я забыл немного рассказать о существующих цепочках правил в микротиковском фаерволе. Они наследуются из линуксового фаервола iptables. По сути, в mikrotik работает именно он.

  1. Input - пакеты, отправленные на сам роутер. Если вы подключаетесь к нему по ssh или winbox, пакеты попадают как раз в эту цепочку.
  2. Forward - транзитные пакеты, идущие через маршрутизатор. Например, в локальную сеть за ним, или из нее. Все запросы в интернет через маршрутизатор микротик будут попадать в цепочку forward.
  3. Output - пакеты, отправленные с маршрутизатора. Например, микротик синхронизирует время с внешними ntp серверами. Эти запросы будут попадать в цепочку output.

При составлении правил firewall нет смысла пытаться как-то перемешивать правила из разных цепочек. Они все равно будут читаться по порядку в соответствии с той цепочкой, в которую попадает пакет. Поэтому я обычно сначала описываю все правила для input, потом для forward и в конце, в случае необходимости, для output.

Примеры готовых правил

Двигаемся дальше. Одно правило у нас есть, рисуем следующее. Отбрасываем все неверные (Invalid) пакеты. Это чистой воды паразитный трафик. Его пакеты не являются частью ни одного из отслеживаемых соединений. Поэтому чем раньше мы их отбросим, тем меньше они будут нагружать дальше фаервол проверками.

add action=drop chain=input comment="drop invalid" connection-state=invalid

Дальше не буду приводить скрины, очень хлопотно их под каждое правило делать, да и нет смысла. Просто вставляйте через консоль правила и изучайте их сами в winbox. Разрешаем icmp трафик, чтобы можно было пинговать роутер.

add action=accept chain=input comment="accept ICMP" protocol=icmp

Соответственно, если хотите его заблокировать, то вместо action=accept сделайте drop, или просто не пишите правило, если в конце у вас будет полная блокировка всего, что не разрешено явно.

Дальше я обычно разрешаю подключаться к портам, отвечающим за управление роутером (ssh, winbox, https) с доверенных ip адресов. Подробно этот вопрос я рассмотрю отдельно ниже, поэтому пока это правило пропустим.

Создаем заключительное правило для цепочки input, которое будет блокировать все запросы, пришедшие не из локальной сети. В моем примере у меня локальная сеть подключена к бриджу bridge1-lan. В него входят все порты, подключенные в локалку.

add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan

В этом правиле я использовал отрицание !bridge1-lan, то есть все, что не относится к указанному бриджу.

На текущий момент мы запретили все запросы из вне к роутеру, кроме пингов. При этом доступ из локальной сети полный. Настроим теперь правила для транзитного трафика цепочки forward. Здесь по аналогии с input первыми идут правила для established, related, invalid пакетов.

add action=accept chain=forward comment="accept established,related" connection-state=established,related
 add action=drop chain=forward comment="drop invalid" connection-state=invalid

Теперь запретим все запросы из внешней сети, связь с которой через интерфейс ether1-wan к локальной сети.

add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan

Что такое dstnat мы рассмотрим чуть позже, когда будем разбираться с NAT. На этом список базовых правил закончен. Дальше немного пояснений на тему того, что у нас получилось.

Важное замечание, о котором я забыл упомянуть. По умолчанию, в Mikrotik Firewall нормально открытый. Это значит, все, что не запрещено явно, разрешено.

На текущий момент у нас запрещены все входящие соединения, кроме пинга. При этом разрешены все запросы из локальной сети во внешнюю, так как мы не указали никаких блокирующих правил для этого, а значит, все открыто. Покажу для примера, что нужно сделать, чтобы запретить все запросы из локалки и разрешить, к примеру, только http и https трафик.

Для этого мы сначала создаем разрешающее правило для 80 и 443 портов. Если используете внешний DNS сервер для запросов из сети, не забудьте разрешить еще и 53 порт UDP, иначе dns запросы не будут проходить и страницы загружаться не будут, даже если разрешить http трафик.

add action=accept chain=forward comment="accept http & https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
 add action=accept chain=forward comment="accept dns from lan" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp

Разрешил http и dns трафик, так как в моем тестовом окружении используется внешний dns сервер. Теперь блокируем все остальные запросы по цепочке forward из локальной сети.

add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan

Когда я писал статью, завис минут на 10 и не мог понять, почему не работает разрешающее правило для http. Я его несколько раз проверил, все верно было. Тут и ошибиться негде, но страницы из интернета не грузились в браузере. Чтобы разобраться, я просто включил логирование для последнего запрещающего правила.

После того, как сделал это, увидел, что у меня блокируется dns трафик по 53-му порту. После этого сделал для него разрешение и все заработало как надо.

Забыл предупредить. Если вы с нуля настраиваете фаервол в микротик, то доступа в интернет из локальной сети у вас еще нет. Для этого нужно настроить NAT, чем мы займемся в следующем разделе. Так что пока отложите тестирование правил и вернитесь к ним, когда настроите NAT.

Когда у вас что-то не получается, смело включайте логирование запрещающих правил и вы быстро поймете в чем проблема. Это универсальный совет для настройки любого фаервола. Только не забудьте в конце отладки отключить логирование. Иногда я это забывал сделать. Если использовалось какое-то хранилище для логов, оно быстро забивалось, так как в блокирующие правила попадает очень много запросов.

Итак, мы настроили базовый нормально закрытый firewall в микротике. У нас запрещено все, что не разрешено явно, в том числе и для трафика из локальной сети. Скажу честно, я редко так делал, потому что хлопотно постоянно что-то открывать из локальной сети (skype, teamviewer и т. д.). В общем случае, если нет повышенных требований безопасности, в этом нет необходимости. Блокирование не разрешенного трафика можно включать в случае необходимости.

Итоговый список правил, которые получились:

/ip firewall filter
 add action=accept chain=input comment="accept establish & related" connection-state=established,related
 add action=drop chain=input comment="drop invalid" connection-state=invalid
 add action=accept chain=input comment="accept ICMP" protocol=icmp
 add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan
 add action=accept chain=forward comment="accept established,related" connection-state=established,related
 add action=drop chain=forward comment="drop invalid" connection-state=invalid
 add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan
 add action=accept chain=forward comment="accept http & https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
 add action=accept chain=forward comment="accept dns from LAN" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp
 add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan

Пока у нас еще не настроен выход в интернет для локальной сети. Сделаем это далее, настроив NAT.

Настройка NAT в микротик

С натом в микротике есть один важный нюанс, о котором я не знал, пока не прочитал презентацию одного из сотрудников, которую я в итоге перевел - My «holy war» against masquerade. Я всегда и везде использовал masquerade для настройки NAT. К тому же это действие предлагается и в дефолтной конфигурации. По своей сути masquerade - частный случай src-nat, который следует использовать в том случае, если у вас не постоянный ip адрес на внешнем интерфейсе. Причем, в некоторых случаях с masquerade могут быть проблемы. Какие именно - описаны в презентации.

Таким образом, если у вас постоянный ip адрес, то для NAT используйте src-nat, если динамический - masquerade. Разница в настройках минимальна.

Для того, чтобы пользователи локальной сети, которую обслуживает роутер на микротике, смогли получить доступ в интернет, настроим на mikrotik NAT. Для этого идем в раздел IP -> Firewall, вкладка NAT и добавляем простое правило.

/ip firewall nat
 add action=src-nat chain=srcnat out-interface=ether1-wan to-addresses=10.20.1.20

В данном случае 10.20.1.20 ip адрес на wan интерфейсе. Если не постоянный ip адрес на wan интерфейсе, то делаем с masquerade.

add action=masquerade chain=srcnat out-interface=ether1-wan

Все, NAT настроен, пользователи могут выходить в интернет. Теперь предлагаю проверить работу firewall, который мы настроили. Сбросьте все счетчики в правилах.

Теперь сгенерируйте как можно больше трафика и посмотрите, через какие правила он будет идти. Можно воспользоваться сервисом от Яндекса по измерению скорости интернета - https://yandex.ru/internet/.

Большая часть трафика прошла по правилу с established, related соединениям, минимально нагружая роутер своей обработкой в контексте именно фаервола. Особенно это будет актуально, если у вас много правил в firewall. Важно их расположить в правильном порядке.

Проброс портов

Покажу на простом примере, как при настроенном NAT и включенном фаерволе выполнить проброс порта в mikrotik для доступа к службе в локальной сети.  Пробросить порт можно в той же вкладке NAT в настройках Firewall.

Для примера выполним проброс порта rdp из интернета через микротик. Извне будет открыт порт 41221, а проброс будет идти на локальный адрес 192.168.88.200 и порт 3389.

add action=dst-nat chain=dstnat dst-port=41221 in-interface=ether1-wan protocol=tcp to-addresses=192.168.88.200 to-ports=3389

Если у вас остальной фаревол микротика настроен по поему описанию выше, то проброс порта уже заработает и больше ничего делать не надо. Так как у нас правило на блокировку запросов из вне в локальную сеть сделано с учетом исключения цепочки dstnat, все будет работать сразу. Напоминаю это правило.

add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan

Если вы настраивали firewall ранее по каким-то другим материалам, там могло быть другое правило, без учета dstnat, например вот так:

add action=drop chain=forward comment="drop WAN -> LAN" in-interface=ether1-wan out-interface=bridge1-lan

К такому правилу надо обязательно выше добавить разрешающее, примерно вот так:

add action=accept chain=forward comment="accept WAN -> LAN RDP" dst-address=192. 168.88.200 dst-port=3389 in-interface=ether1-wan protocol=tcp

Я настоятельно не рекомендую открывать доступ к rdp порту для всего интернета. Лично имел печальный опыт в такой ситуации. Обязательно настройте ограничение доступа по ip к этому порту, если такое возможно. Если невозможно, то не пробрасывайте порт, а сделайте доступ по vpn. Ограничение по ip делается просто. Добавляем еще один параметр Src. Address в правило проброса порта.

Если используется список ip адресов, который будет меняться, проще сразу в правиле проброса указать на список, а потом править уже сам список. Для этого его надо создать. Создать список ip можно на вкладке Address List. Добавим список:

Возвращаемся в правило проброса порта, переходим на вкладку Advanced и добавляем указанный список в Src. Adress List

Теперь для изменения списка доступа к проброшенному порту не надо трогать само правило. Достаточно отредактировать список.

На этом по настройке NAT и пробросу портов на Mikrotik все. Надеюсь, у меня получилось подробно и понятно объяснить основные моменты и некоторые нюансы.

Защита подключения через winbox

Расскажу отдельно о том, как защитить подключение по winbox с помощью firewall. В микротиках время от времени находят критические уязвимости. Единственным способом надежно от них защититься - ограничить доступ к winbox с помощью фаервола. После этого можно спать спокойно и делать обновления системы не экстренно, после публикации уязвимости, а планово.

В рассмотренном ранее списке правил для фаервола заблокированы все внешние подключения полностью. Это самый безопасный вариант настроек. Иногда нужен доступ к удаленному управлению. Если невозможно создать статический список ip адресов, для которых будет разрешено подключение, то выходом в этом случае настроить vpn сервер на микротике и подключаться через vpn. Это хоть и менее безопасно прямого ограничения на уровне списка ip адресов, но все равно значительно лучше, чем оставлять доступ через winbox без ограничения через интернет.

Тема настройки vpn в mikrotik выходит за рамки данной статьи. Читайте отдельный материла на этот счет. Сделаем простое ограничение доступа к управлению на уровне ip. Для начала создадим список IP адресов, которым будет разрешено подключаться удаленно к winbox.

Добавляем правило в Firewall. Оно должно быть выше правила, где блокируются все входящие соединения.

add action=accept chain=input comment="accept management for white-list" dst-port=8291 in-interface=ether1-wan protocol=tcp src-address-list=winbox_remote

В вкладке Advanced указываем список:

В разделе action ставим accept. Так мы обезопасили удаленный доступ через winbox. Считаю это самым простым и безопасным способом защиты микротика. Если есть возможность ограничений по ip, всегда используйте. Это универсальный способ, годный для любого случая и системы, не только в отношении Mikrotik.

В современном мире ИТ постоянно находят уязвимости. Невозможно всегда оперативно ставить обновления. Зачастую, эти обновления могут либо нарушить работу системы, либо содержать другие уязвимости. Только ограничение доступа к службам и системам позволяет более ли менее надежно защититься и спать спокойно, не торопясь обновляться со всех ног при обнаружении очередной критической уязвимости.

Итоговый список правил после всех наших настроек в этой статье должен получиться примерно таким.

Fasttrack

В дефолтном правиле firewall mikrotik включен режим Fasttrack. Я в своих правилах его обычно не использую. Попробую своими словами объяснить, что это такое. Я долго пытался вникнуть в суть этой технологии, когда разбирался.

Fasttrack - проприетарная технология Mikrotik, позволяющая маркировать ip пакеты для более быстрого прохождения пакетного фильтра. Включить режим маркировки пакетов fasttrack очень просто. Достаточно добавить в цепочку forward первым следующее правило:

/ip firewall filter add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related

Дальше остаются все те же самые правила, что я описал ранее в статье.

В этом режиме пакеты перемещаются по упрощенному маршруту в пакетном фильтре, поэтому не работают следующие технологии обработки пакетов:

  • firewall filter;
  • mangle rules;
  • queues с parrent=global;
  • IP accounting;
  • IPSec;
  • hotspot universal client;
  • VRF;

За счет того, что маршрут обработки пакетов более короткий, он меньше нагружает процессор в ущерб функционалу. Если вы ничего из перечисленного не используете, то можно пользоваться fasttrack. Однако, чаще всего нужны queues, поэтому от него приходится отказываться. Если же у вас не используются очереди и какие-то особенные правила в firewall, то можете использовать технологию.

Чтобы убедиться, что режим fasttrack работает, можно посмотреть раздел Mangle. Счетчик с маркированными пакетами должен расти.

И в завершении по fasttrack важное замечание - он не работает в CHR. Я с этим столкнулся лично, когда тестировал. У меня тестовое окружение настроено на CHR и там fasttrack не работал. Причем его можно включить, но все счетчики пакетов будут нулевыми. Реально технология не работает.

Как на микротике отключить файрвол

Для того, чтобы полностью отключить Firewall на микротике, достаточно просто отключить или удалить все правила в списке. По умолчанию, в mikrotik используются разрешающие правила. Все, что не запрещено - разрешено, то есть firewall нормально открытый. Если у вас нет ни одного активного правила, можно считать, что файрвол отключен, так как он пропускает все соединения без ограничений.

Вот пример отключенного фаервола на микротике :)

Итоговый список правил, настроенный по этой статье, получился вот такой:

/ip firewall address-list
 add address=10.20.1.1 list=winbox_remote
 /ip firewall filter
 add action=accept chain=input comment="accept establish & related" connection-state=established,related
 add action=drop chain=input comment="drop invalid" connection-state=invalid
 add action=accept chain=input comment="accept ICMP" protocol=icmp
 add action=accept chain=input comment="accept management for white-list" dst-port=8291 in-interface=ether1-wan protocol=tcp src-address-list=winbox_remote
 add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan
 add action=accept chain=forward comment="accept established,related" connection-state=established,related
 add action=drop chain=forward comment="drop invalid" connection-state=invalid
 add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan
 add action=accept chain=forward comment="accept http & https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
 add action=accept chain=forward comment="accept dns from lan" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp
 add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan
 /ip firewall nat
 add action=masquerade chain=srcnat out-interface=ether1-wan
 add action=dst-nat chain=dstnat dst-port=41221 in-interface=ether1-wan protocol=tcp to-addresses=192. 168.88.200 to-ports=3389

Заключение

На этом все по базовой настройке firewall на mikrotik. Постарался показать максимально подробно базовый набор правил фаервола для обеспечения безопасности и защиты локальной сети и самого роутера.

Мой список правил не сильно отличается от дефолтного. Привел его последовательно по правилу, чтобы просто объяснить логику, как нужно рассуждать и действовать при добавлении правил. В качестве самостоятельной работы предлагаю добавить правило, разрешающее пинги из локальной сети в интернет. Если самостоятельно не получилось сделать, напишите в комментарии, я приведу рабочий пример.

Тема эта обширная, наверняка у кого-то есть замечания и свои советы по предложенной настройке. Тут нет универсальных правил на все случаи жизни. Firewall в микротике основан на линуксовых iptalbes, а  это безграничное поле для маневра.

Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.

Онлайн курcы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курcы по программе, основанной на информации из официального курcа MikroTik Certified Network Associate. Помимо официальной программы, в курcах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курcы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курcов:

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.
Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Скачать pdf

Три различных способа настройки NAT источника на маршрутизаторах Mikrotik

NAT источника на маршрутизаторах Mikrotik можно настроить по-разному, в зависимости от желаемого результата. Однако я заметил, что многие пользователи routerOS склонны использовать один и тот же метод при настройке исходного NAT на Mikrotik. Это не хорошо. В этом посте я расскажу о трех из множества способов настройки исходного NAT на маршрутизаторе Mikrotik.

Исходный NAT на Mikrotik может быть реализован с использованием трех из этих атрибутов, которые я собираюсь рассмотреть один за другим: исходный адрес, внутренний или внешний интерфейс, исходный список адресов. Каждый из этих методов будет успешно маскировать ваши внутренние адреса и использовать ваш IP-адрес WAN в качестве исходного IP-адреса для всего интернет-трафика, хотя и немного по-разному. Эта разница в методах реализации может работать как на пользователя, так и против него, в зависимости от дизайна сети и желаемого результата.

Настройка исходного NAT на Mikrotik с использованием входящего/исходящего интерфейса

Использование этой опции позволяет указать маршрутизатору маскировать внутренние IP-адреса для пакетов, входящих или исходящих через интерфейс, указанный как входящий или исходящий. При использовании этого метода исходные IP-адреса могут не отображаться; маршрутизатор просто маскирует исходные IP-адреса, используя входящие и исходящие интерфейсы в качестве атрибутов.

Реализация Source NAT с использованием этого варианта может считаться самой простой. Тем не менее, это создаст некоторые проблемы для туннелей ptp, туннелей gre и ipsec vpn. Чтобы разрешить связь vpn для локальных сетей, настроенных на маршрутизаторе, пользователь должен будет исключить связь lan-to-lan из исходного правила NAT.

Этот метод реализации source nat на Mikrotik можно настроить на маршрутизаторе Mikrotik с помощью приведенной ниже команды.

/IP firewall nat

add chain=srcnat in-interface=ether2 action=masquerade comment=nat_based_on_in_interface

add chain=srcnat out-interface=ether1 action=masquerade comment=nat_based_onkout_interface source address

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

Чтобы настроить исходный NAT на Mikrotik с помощью этого метода, администратор может ввести команды, аналогичные приведенным ниже.

/IP firewall nat

add chain=srcnat src-address=192.168.88.0/24 action=masquerade

 

 

Настройка NAT источника на Mikrotik с использованием списка адресов источника

Я считаю этот метод наиболее безопасным способом настройки NAT источника на маршрутизаторах Mikrotik. Он обеспечивает некоторый уровень безопасности, позволяя администратору составить список исходных IP-адресов, которые должны быть включены в правило маскировки. Этим пользователям в конечном итоге будет предоставлен доступ в Интернет. Этот метод может показаться менее простым, чем предыдущие, описанные выше, в зависимости от пользователя.

Чтобы настроить исходный NAT на Mikrotik с помощью этого метода, пользователь должен создать вручную/динамический список исходных адресов, а затем использовать этот список адресов для настройки исходного NAT. См. шаги ниже.

Создание списка адресов источника вручную можно добавлять друг за другом или группами.

 

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

 

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

/ip firewall nat
add chain=srcnat src-address-list=internet_users action=masquerade

В заключение, хотя методы 1 и 2 работают, метод 3 дает вам контроль над тем, какие IP-адреса должны быть пропущены в Интернет. Список исходных адресов также можно использовать для сопоставления исходных адресов хостов, которые не должны быть включены в правило маскировки брандмауэра. При этом пользователям, исходные IP-адреса которых захвачены в списке исходных адресов, будет отказано в доступе в Интернет. При использовании с динамическим списком исходных адресов группе пользователей может быть отказано в доступе в Интернет в определенные периоды времени в рабочее время.

Для получения дополнительной информации о исходном NAT Mikrotik, пожалуйста, прочитайте документацию Mikrotik здесь.

Если вам понравился этот урок, подпишитесь на этот блог, чтобы получать мои сообщения по электронной почте. Также подпишитесь на мой канал YouTube, поставьте лайк на мою страницу в Facebook и следите за мной в Twitter.

Делитесь любовью

Как настроить брандмауэр MikroTik для использования с 3CX



Как настроить MikroTik Firewall для использования с 3CX перейти к содержанию
  • Введение
  • Шаг 1. Отключение SIP ALG
  • Шаг 2. Настройка переадресации портов (NAT)
  • Шаг 3. Список входящего доступа (только для конфигурации PAT)
  • Шаг 4. Проверка настройки
  • См. также В этом документе описывается конфигурация устройств MikroTik RB951 для использования с 3CX, и он должен быть совместим с другими устройствами этой серии. Хотя параметры можно настроить через графический интерфейс (winbox. exe) или веб-интерфейс, в этом руководстве описана настройка через SSH. Обратите внимание, что мы не можем помочь вам в настройке вашего брандмауэра.

    Шаг 1: Отключите SIP ALG

    1. Войдите в брандмауэр. В командной строке введите:
      ip firewall service-port disable sip

    Шаг 2: Настройте переадресацию портов (NAT)

    Теперь вам необходимо перенаправить следующие порты для поддержки настройки SBC, удаленных расширений и провайдеров VoIP. . Полный список необходимых портов по умолчанию можно найти здесь.

    Войдя в брандмауэр, введите следующие команды:

    1. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=[HTTPS Port] protocol=tcp dst-port=[HTTPS Port] comment="3CX Presence and Provisioning HTTPS"

    2. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=[SIP Port] protocol=udp dst-port=[SIP Port] comment=" 3CX SIP UDP"

    3. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=[SIP Port] protocol=tcp dst-port=[SIP Port] comment ="3CX SIP TCP"

    4. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=[SIP Port + 1] protocol=tcp dst-port=[SIP Port + 1] comment ="3CX SIP TLS"

    5. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=9000-10999 protocol=udp dst-port=9000-10999 comment ="3CX Media UDP"

    6. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=[туннельный порт] protocol=tcp dst-port=[туннельный порт ] comment="3CX Tunnel TCP"

    7. ip firewall nat add chain=dstnat action=dst-nat to-addresses=[3CX Server LAN IP] to-ports=[Tunnel Port] protocol=udp dst-port=[Tunnel Port] comment="3CX Tunnel UDP"

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

    Шаг 3: Список входящего доступа (только конфигурация PAT)

    Если у вас есть NAT 1 к 1, вы можете пропустить этот шаг. Если у вас есть конфигурация PAT, вы должны создать следующие правила доступа с помощью этих команд:

    1. фильтр IP-брандмауэра добавить цепочку=входное действие=принять состояние подключения=установлено = принять состояние подключения = установлено

    2. Фильтр IP-брандмауэра добавить цепочку = действие вперед = принять состояние подключения = связанный

    3. Фильтр IP-брандмауэра добавить цепочку = действие вперед = удалить состояние подключения = недействительно

    4. ip firewall filter add chain=input action=drop in-interface=[Имя интерфейса]

    5. ip firewall nat add chain=srcnat action=masquerade out-interface=[Имя интерфейса]

    Обратите внимание, что на шагах 6 и 7 вам необходимо ввести «внутриинтерфейсное» имя , которое вы используете для 3CX (имя с общедоступным IP-адресом). Все имена интерфейсов можно просмотреть с помощью следующей команды:

    /interface print

    Шаг 4: Проверка настройки

    1. Войдите в 3CX Management Console → Dashboard → Firewall и запустите 3CX Firewall Checker. Это подтвердит, правильно ли настроен ваш брандмауэр для использования с 3CX.
      Дополнительную информацию о средстве проверки брандмауэра можно найти здесь.
    2. Проверьте конфигурацию брандмауэра с помощью следующих команд:

    1. > ip address print

    1. > ip firewall nat print
    2. 4

      2
    3. > ip firewall filter print

    См. также

Только новые статьи

Введите свой e-mail

Видео-курс

Blender для новичков

Ваше имя:Ваш E-Mail: