В ряде случаев системному администратору необходимо ограничить доступ к внутренним ресурсам по географическому признаку. Это может потребоваться по соображениям безопасности, соответствия законодательным требованиям или для снижения нежелательного трафика. Например, можно разрешить подключение к серверу VoIP-телефонии только пользователям с российскими IP-адресами, чтобы снизить риск взлома или мошенничества.
Рассмотрим, как реализовать такую фильтрацию на пограничном маршрутизаторе MikroTik (RouterOS версии 7) с помощью списков IP-адресов GeoIP.
Поддержка инфраструктуры любой сложности (сети, сервера, кластеры) выполняется в рамках услуги ИТ-аутсорсинг. Исключим риски недоступности ИТ и 1С систем!
Подготовка GeoIP списков адресов
Для автоматической загрузки списков IP-адресов по странам используем сервис mikrotik-geoip.com.
Сформируйте ссылку для загрузки
Используйте шаблон:
https://mikrotik-geoip.com/free/?version=7&family=|&type=|&country=
version=7: Для RouterOS 7.
family=ipv4 или ipv6: Версия IP. Используйте ipv4 для IPv4 адресов.
type=firewall или route: Тип списка. Для фильтрации трафика используйте firewall.
country=XX: Код страны по стандарту ISO 3166-1 Alpha-2 (например, RU для России). Коды стран можно найти на Википедии.
Пример ссылки для России (IPv4, Firewall)
https://mikrotik-geoip.com/free/?version=7&family=ipv4&type=firewall&country=RU
Загрузите и импортируйте список на MikroTik
Выполните следующие команды в терминале (Terminal) MikroTik:
/tool/fetch url="https://mikrotik-geoip.com/free/?version=7&family=ipv4&type=firewall&country=RU" \
output=file dst-path=MikroTik-GeoIP-RU.rsc
/import file-name=MikroTik-GeoIP-RU.rsc
Первая команда скачивает файл списка (MikroTik-GeoIP-RU.rsc). Вторая – импортирует его содержимое в конфигурацию роутера.
Проверка:
Перейдите в раздел IP -> Firewall -> вкладка Address Lists. Убедитесь, что появился список с именем MikroTik-GeoIP-RU (или аналогичным), содержащий IP-адреса.
Рисунок 1 – Настройка Firewall Mikrotik для GeoIP.
Настройка правил Firewall для ограничения доступа
Добавьте правила, блокирующие нежелательный трафик на нужные порты (в данном примере – SIP и RTP) для адресов НЕ из белого списка (RU).
add action=drop chain=forward dst-port=5060,10000-20000 protocol=udp \ in-interface=WAN src-address-list=!MikroTik-GeoIP-RU \ comment="Allow RU SIP/RTP"
ВАЖНО!
Убедитесь, что правило Allow стоит ВЫШЕ правила Drop в цепочке forward. Правила обрабатываются сверху вниз!
Точное указание in-interface=WAN (ваш внешний интерфейс) в правилах необходимо, чтобы не заблокировать внутренние обращения из локальной сети.
Вариант с черным списком
Если нужно блокировать трафик только из конкретных нежелательных стран, загрузите их списки (например, US, CN) и создайте правило drop с src-address-list=MikroTik-GeoIP-US, MikroTik-GeoIP-CN.
Автоматизация обновления GeoIP списков
Адреса в GeoIP списках меняются. Настройте регулярное обновление.
Через Winbox/WebFig:
Перейдите в System -> Scheduler.
Нажмите +
Name: GeoIP Renew RU
Interval: 1w (раз в неделю)
Start Date/Time: Укажите дату/время первого запуска (например, ближайшую ночь)
On Event: Вставьте команды загрузки списков из первого раздела данной инструкции.
Рисунок 1 – Настройка GeoIP Mikrotik.
Через терминал:
/system scheduler
add interval=1w name=GeoIP_renew on-event="/tool/fetch \\\r\
\nurl=\"https://mikrotik-geoip.com/free/\?version=7&family=ipv4&type=firew\
all&country=RU\" \\\r\
\noutput=file dst-path=MikroTik-GeoIP-RU.rsc\r\
\n/import file-name=MikroTik-GeoIP-RU.rsc" policy=read,write start-date=\
2025-07-06 start-time=23:00:00
Заключение
Данная конфигурация позволяет эффективно ограничить доступ к вашим ресурсам (SIP-серверу, веб-интерфейсам и т.д.) по географическому признаку с помощью MikroTik RouterOS 7.
Ключевые моменты:
- Использование бесплатных актуальных GeoIP списков.
- Корректная настройка правил Firewall с обязательным указанием внешнего интерфейса (in-interface).
- Автоматизация обновления списков через Scheduler.
Рекомендации
- Протестируйте правила перед применением в продакшене. Временно добавьте log=yes в правило drop и проверяйте логи (Log).
- Настройте обновление для всех используемых GeoIP списков стран.
- Адаптируйте порты (dst-port) и протоколы (protocol) под ваши конкретные сервисы.
- Используйте тестовый стенд RouterOS на виртуальной машине Hyper-V для проверки конфигов и повышения своей квалификации.
При повторном запуске скрипта обновления выдаёт ошибку “Script Error: failure: already have such entry (/ip/firewall/address-list/add; line 1) (:import; line 2)” так как такие записи уже есть.