> For the complete documentation index, see [llms.txt](https://docs.mikopbx.com/mikopbx/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mikopbx.com/mikopbx/modules/miko/module-geo-ip.md).

# GeoIP фильтрация

Модуль **GeoIP** блокирует входящие соединения к вашей АТС из выбранных стран. Открытая в интернет MikoPBX постоянно получает сотни попыток подключения со всего мира: сканеры ищут уязвимые SIP-серверы, подбирают пароли к внутренним номерам и пытаются звонить за ваш счёт. Большинство таких атак приходит из стран, с которыми у вас нет телефонной связи.

GeoIP-фильтрация позволяет заблокировать целые страны в один клик — все IP-адреса из этих стран отбрасываются ещё до того, как достигнут SIP-сервера. Блокировка работает одновременно для **IPv4 и IPv6**.

{% hint style="info" %}
Модуль использует технологию **ipset** — механизм ядра Linux для работы с большими списками адресов. Это позволяет проверять сотни тысяч подсетей практически мгновенно, без влияния на производительность станции. Поддержка ipset входит во все стандартные сборки MikoPBX.
{% endhint %}

## Установка и включение <a href="#install" id="install"></a>

1. Откройте **Модули → Маркетплейс модулей**, найдите **GeoIP фильтрация** и нажмите **Установить**.
2. После установки перейдите в раздел **Сеть и firewall → GeoIP фильтрация**.
3. Включите переключатель **Включить GeoIP-фильтрацию**.
4. Отметьте страны, которые нужно заблокировать, и нажмите **Сохранить**.

После включения модуль автоматически запускает первую загрузку списков IP-адресов. Пока данные не скачаны, в поле **Последнее обновление** отображается «Данные ещё не загружены».

{% hint style="warning" %}
Если в системе недоступна утилита `ipset`, модуль покажет предупреждение **«ipset недоступен»** — фильтрация в этом случае к трафику применяться не будет. На стандартных сборках MikoPBX утилита присутствует.
{% endhint %}

## Выбор стран <a href="#countries" id="countries"></a>

На странице модуля отображается список из **249 стран** (стандарт ISO 3166-1). Для каждой страны указан её текущий статус — **Заблокирована** или **Разрешена**. Страна разрешена по умолчанию: блокировка включается явно.

| Элемент               | Назначение                                                                |
| --------------------- | ------------------------------------------------------------------------- |
| **Поиск**             | Быстрый поиск страны по названию.                                         |
| **Фильтр статуса**    | Показать все страны, только разрешённые или только заблокированные.       |
| **Заблокировать все** | Заблокировать сразу все страны в списке.                                  |
| **Разрешить все**     | Снять блокировку со всех стран.                                           |
| **Сохранить**         | Применить изменения. Правила файрвола обновляются сразу после сохранения. |

## Источник данных <a href="#source" id="source"></a>

Списки подсетей по странам можно получать из одного из трёх источников — он выбирается в поле **Источник данных**:

| Источник                       | Особенности                                                                                                                                                         |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **DB-IP Lite** (рекомендуется) | Актуальная база соответствий «страна → подсеть». Копия базы **поставляется прямо в составе модуля**, поэтому первое включение работает даже без доступа в интернет. |
| **RIR delegation files**       | Официальные файлы распределения адресов региональных интернет-регистраторов (RIPE, ARIN, APNIC и др.).                                                              |
| **ipdeny.com**                 | Готовые агрегированные CIDR-блоки по странам.                                                                                                                       |

{% hint style="info" %}
Источник **DB-IP Lite** включает офлайн-копию базы внутри модуля. Это важно для станций в ограниченных сетях, где скачивание базы извне нестабильно: модуль сначала использует встроенную копию и только при её отсутствии обращается в сеть.
{% endhint %}

## Обновление списков <a href="#update" id="update"></a>

Списки IP-адресов обновляются **автоматически раз в неделю** (по воскресеньям). Дата и время последнего успешного обновления, а также число загруженных подсетей отображаются на странице модуля.

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

## Как это работает <a href="#how" id="how"></a>

Блокировка GeoIP применяется в файрволе **в самую последнюю очередь — после всех разрешающих правил**. Порядок обработки входящего соединения:

1. **Установленные соединения** — пропускаются.
2. **Правила файрвола** (ваши доверенные подсети) — пропускаются.
3. **IP-адреса SIP-провайдеров** — пропускаются.
4. **Фильтр GeoIP** — блокировка по стране.

{% hint style="warning" %}
Доверенные адреса никогда не блокируются по ошибке. Даже если IP-адрес вашего SIP-провайдера находится в заблокированной стране, он продолжит работать — потому что разрешающие правило обрабатывается раньше, чем фильтр GeoIP.
{% endhint %}

## Системные требования <a href="#requirements" id="requirements"></a>

* MikoPBX **2026.1.223** или новее.
* Поддержка **ipset** в ядре Linux (входит во все стандартные сборки MikoPBX).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mikopbx.com/mikopbx/modules/miko/module-geo-ip.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
