Настройка Firewall в Mikrotik RouterOS

Рейтинг
Оценка: 4.79Голосов: 14Комментарии: 26

Функция Firewall – это неотъемлемая часть всех маршрутизаторов, отвечающая за контроль и фильтрацию проходящих через них сетевых пакетов. Главная задача этой функции – защита компьютерных сетей от посягательств извне и защита от нежелательного и «мусорного» трафика, который может повлиять на работу этой сети.

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

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

Итак, начнём. Нам необходимо задать ряд правил для цепочек input (входящий в роутер трафик) и forward (проходящий через роутер трафик). Для этого мы подключаемся к нашему роутеру и переходим в раздел IP -> Firewall при помощи команды

[admin@MikroTik] > ip firewall filter

И командой print проверяем, есть ли у нас какие-то правила. Если есть, то нам сперва нужно их удалить, для этого используем команду

[admin@MikroTik] /ip firewall filter> remove numbers=0,1,2,3,4

где numbers=0,1,2,3,4, это номера наших правил.

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

Настройка Firewall в Mikrotik RouterOS

Рис. 1.

Теперь приступим к созданию новых правил для Firewall. Не покидая раздел /ip firewall filter> задаём следующие правила:

Разрешаем пинг для цепочек input и forward, командами:

add chain=input protocol=icmp action=accept comment=”Allow Ping”

add chain=forward protocol=icmp action=accept

Разрешаем успешно установленные соединения для цепочек input и forward, командами:

add chain=input connection-state=established action=accept comment=”Accept established connections”

add chain=forward connection-state=established action=accept

Разрешаем родственные соединения для цепочек input и forward, командами:

add chain=input connection-state=related action=accept comment=”Accept related connections”

add chain=forward connection-state=related action=accept

Запрещаем недействительные соединения для цепочек input и forward, командами:

add chain=input connection-state=invalid action=drop comment=”Drop invalid connections”

add chain=forward connection-state=invalid action=drop

Разрешаем UDP протокол для цепочек input и forward, командами:

add chain=input protocol=udp action=accept comment=”Allow UDP”

add chain=forward protocol=udp action=accept

Командой

add chain=forward src-address=192.168.0.0/24 in-interface=ether2 action=accept comment=”Access to Internet from local network”

мы разрешаем выход в интернет, для нашей локально сети. Только вместо 192.168.0.0/24 вы должны указать префикс именно вашей локальной сети. А вместо ether2, интерфейс, к которому у вас подключена локальная сеть. В случае, когда вы подключаетесь к провайдеру по протоколу PPPoE или любому другому туннельному протоколу (VPN), вместо имени физического порта, нужно указывать имя вашего подключения, например pppoe-out1.

Ещё одним правилом, мы ограничиваем доступ к нашему роутеру, только адресами нашей локально сети:

add chain=input src-address=192.168.0.0/24 action=accept comment=”Access to Mikrotik only from our local network”

Здесь, как и в предыдущем случае, вместо 192.168.0.0/24, вы должны указать реальный префикс именно вашей локально сети.

Последние два правила запрещают прохождение всех остальных пакетов:

add chain=input action=drop comment=”All other drop”

add chain=forward action=drop

После чего, уже знакомой нам командой print, мы можем проверить, что все правила у нас верны.

Настройка Firewall в Mikrotik RouterOS

Рис. 2.

Так же, все правила можно посмотреть в графическом интерфейсе в разделе  IP -> Firewall на вкладке Filter Rules

Настройка Firewall в Mikrotik RouterOS

Рис. 3.

И, как я обещал ранее, для приверженцев графического интерфейса, можно добавить все правила через него. Так как привала зависимы от их порядка в списке, то добавлять их надо точно в таком же порядке как они описаны. Делается это так:

В разделе меню IP -> Firewall на вкладке Filter Rules, добавляем новое правило красной кнопкой + в левом верхнем углу окна.

Для примера я возьму первое правило:

add chain=input protocol=icmp action=accept comment=”Allow Ping”

В открывшемся окне, на вкладке General, мы выбираем цепочку Chaininput, а протокол, Protocolicmp.

Настройка Firewall в Mikrotik RouterOS

Рис. 4.

Переходим на вкладку Action, где в поле Action выбираем acept.

Настройка Firewall в Mikrotik RouterOS

Рис. 5.

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

Настройка Firewall в Mikrotik RouterOS

Рис. 6.

После чего сохраняем правило.

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

Однако, есть ещё и способ для ленивых. Все эти правила, можно добавить одним действием при помощи скрипта. Вот этот скрипт:

#######################

# ip firewall filter rules add

#######################

/ip firewall filter

add chain=input protocol=icmp action=accept comment=”Allow Ping”

add chain=forward protocol=icmp action=accept

add chain=input connection-state=established action=accept comment=”Accept established connections”

add chain=forward connection-state=established action=accept

add chain=input connection-state=related action=accept comment=”Accept related connections”

add chain=forward connection-state=related action=accept

add chain=input connection-state=invalid action=drop comment=”Drop invalid connections”

add chain=forward connection-state=invalid action=drop

add chain=input protocol=udp action=accept comment=”Allow UDP”

add chain=forward protocol=udp action=accept

add chain=forward src-address=192.168.0.0/24 in-interface=ether2 action=accept comment=”Access to Internet from local network”

add chain=input src-address=192.168.0.0/24 action=accept comment=”Access to Mikrotik only from our local network”

add chain=input action=drop comment=”All other drop”

add chain=forward action=drop

Копируем этот скрипт, переходим в раздел меню System -> Scripts, добавляем новый скрипт, нажимаем кнопку Apply, а затем кнопку Run Script. Всё! Готово!

После этого, окно скрипта можно закрыть, а сам скрипт удалить. Наши правила созданы.

Настройка Firewall в Mikrotik RouterOS

Рис. 7.

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

Алексей специально для asp24

Если Вы нашли ошибку в тексте, то выделите ее мышкой и нажмите Ctrl + Enter или нажмите здесь.

Сообщение об ошибке

Ошибка:

Ваш комментарий (не обязательно):

Да Отмена

Об авторе Aleksej