# IPsec IKEv2 для мобильных клиентов в pfSense - настройка

> Настройка IPsec IKEv2 VPN для удаленного доступа в pfSense - подключение Windows, macOS, iOS и Android без стороннего ПО

Source: https://opennix.org/docs/pfsense/vpn/ipsec/pfsense-ipsec-mobile-clients/


IKEv2 (Internet Key Exchange version 2) - наиболее практичный протокол для организации VPN-доступа мобильных пользователей к корпоративной сети через pfSense. Ключевое преимущество IKEv2 перед другими протоколами удалённого доступа - встроенная поддержка во всех современных операционных системах: Windows 10/11, macOS, iOS и Android. Пользователям не требуется устанавливать сторонние VPN-клиенты - подключение выполняется средствами операционной системы.

Данное руководство описывает полный цикл настройки IPsec IKEv2 для мобильных клиентов в pfSense: от создания сертификатов до конфигурации клиентских устройств. Материал рассчитан на администраторов, знакомых с веб-интерфейсом pfSense и базовыми принципами PKI.

## Преимущества IKEv2 для удалённого доступа

Перед выбором протокола удалённого доступа следует оценить преимущества IKEv2 по сравнению с альтернативами.

| Характеристика | IKEv2 | OpenVPN | WireGuard |
|---|---|---|---|
| Встроенная поддержка в ОС | Windows, macOS, iOS, Android | Нет | Нет |
| Скорость подключения | Менее 1 секунды | 5-10 секунд | Менее 1 секунды |
| Поддержка MOBIKE | Да (переключение между Wi-Fi и LTE) | Нет | Да |
| Стандартизация | RFC 7296 | Проприетарный | Нестандартный |
| Аутентификация | Сертификаты, EAP-MSCHAPv2 | Сертификаты, пароли | Pre-shared keys |
| NAT-T | Встроенная | Встроенная (UDP/TCP) | Встроенная |

MOBIKE (IKEv2 Mobility and Multihoming Protocol, RFC 4555) позволяет VPN-соединению сохраняться при смене сетевого интерфейса - например, при переключении с Wi-Fi на мобильную сеть. Для мобильных пользователей это критически важная функция.

## Подготовка сертификатов

IKEv2 для мобильных клиентов требует инфраструктуру открытых ключей (PKI). Необходимо создать три типа сертификатов: корневой сертификат центра сертификации (CA), серверный сертификат и пользовательские сертификаты (при использовании сертификатной аутентификации).

### Создание центра сертификации (CA)

Перейдите в **System > Cert. Manager > CAs** и нажмите **Add**.

| Поле | Значение | Пояснение |
|---|---|---|
| Descriptive Name | `IKEv2 VPN CA` | Имя для идентификации CA |
| Method | Create an internal Certificate Authority | Создание нового CA |
| Key type | RSA | Совместимость со всеми клиентами |
| Key length | 4096 | Минимум 2048 для производственной среды |
| Digest Algorithm | SHA256 | Стандартный алгоритм хеширования |
| Lifetime | 3650 | 10 лет, достаточно для корневого CA |
| Common Name | `IKEv2 VPN CA` | Уникальное имя CA |
| Country Code | (ваш код страны) | Двухбуквенный код ISO 3166-1 |
| State or Province | (ваш регион) | Название региона |
| City | (ваш город) | Название города |
| Organization | (ваша организация) | Название организации |

Нажмите **Save**. Корневой сертификат CA будет использоваться для подписания серверного и пользовательских сертификатов.

### Создание серверного сертификата

Перейдите в **System > Cert. Manager > Certificates** и нажмите **Add/Sign**.

| Поле | Значение | Пояснение |
|---|---|---|
| Method | Create an internal Certificate | Создание нового сертификата |
| Descriptive Name | `IKEv2 VPN Server` | Имя для идентификации |
| Certificate authority | `IKEv2 VPN CA` | CA, созданный на предыдущем шаге |
| Key type | RSA | Совместимость со всеми клиентами |
| Key length | 2048 | Достаточно для серверного сертификата |
| Digest Algorithm | SHA256 | Стандартный алгоритм |
| Lifetime | 825 | Apple ограничивает срок действия серверных сертификатов до 825 дней |
| Common Name | `vpn.example.com` | FQDN сервера или публичный IP-адрес |
| Certificate Type | Server Certificate | Тип серверного сертификата |

> **Внимание**:
>
> В поле **Alternative Names** необходимо добавить SAN (Subject Alternative Name) типа **FQDN** или **IP Address**, совпадающий с адресом, к которому подключаются клиенты. Без SAN клиенты Windows и iOS откажут в подключении. Если используется IP-адрес, добавьте SAN типа IP Address; если используется доменное имя - SAN типа FQDN.

> **Внимание**:
>
> Apple-устройства (macOS, iOS) не принимают серверные сертификаты с Lifetime более 825 дней. При превышении этого значения подключение завершится ошибкой проверки сертификата.

### Создание пользовательских сертификатов

Пользовательские сертификаты необходимы только при использовании аутентификации на основе сертификатов. При использовании EAP-MSCHAPv2 (аутентификация по логину и паролю) этот шаг можно пропустить.

Для каждого пользователя перейдите в **System > Cert. Manager > Certificates** и нажмите **Add/Sign**.

| Поле | Значение | Пояснение |
|---|---|---|
| Method | Create an internal Certificate | Создание нового сертификата |
| Descriptive Name | `user-ivanov` | Имя пользователя для идентификации |
| Certificate authority | `IKEv2 VPN CA` | Тот же CA |
| Key type | RSA | Совместимость со всеми клиентами |
| Key length | 2048 | Достаточно для пользовательского сертификата |
| Digest Algorithm | SHA256 | Стандартный алгоритм |
| Lifetime | 365 | 1 год - рекомендуемый срок для пользовательских сертификатов |
| Common Name | `user-ivanov` | Уникальный идентификатор пользователя |
| Certificate Type | User Certificate | Тип пользовательского сертификата |

Для экспорта пользовательского сертификата в формате PKCS#12 (.p12) перейдите в **System > Cert. Manager > Certificates**, найдите нужный сертификат и нажмите иконку экспорта PKCS#12. Этот файл содержит сертификат и закрытый ключ, защищённый паролем.

## Настройка Mobile Clients

Конфигурация мобильных клиентов выполняется в разделе **VPN > IPsec > Mobile Clients**.

### Вкладка Mobile Clients

| Поле | Значение | Пояснение |
|---|---|---|
| Enable IPsec Mobile Client Support | Установлен | Активирует поддержку мобильных клиентов |
| User Authentication | Local Database | Локальная база пользователей pfSense (или RADIUS) |
| Group Authentication | (по необходимости) | Ограничение по группе |
| Virtual Address Pool | Provide a virtual IP address to clients | Выдача IP-адресов клиентам |
| Network List | Provide a list of accessible networks to clients | Передача списка сетей для split tunnel |

#### Virtual Address Pool

| Поле | Значение | Пояснение |
|---|---|---|
| Virtual Address Pool | `10.10.10.0/24` | Пул адресов для VPN-клиентов |

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

#### DNS Servers

| Поле | Значение | Пояснение |
|---|---|---|
| Provide a DNS server list to clients | Установлен | Передача DNS-серверов клиентам |
| DNS Server 1 | `10.1.0.1` | Адрес локального DNS-сервера |
| DNS Server 2 | `1.1.1.1` | Резервный публичный DNS |

Нажмите **Save**. pfSense предложит создать Phase 1 - нажмите на ссылку для перехода к настройке.

## Настройка Phase 1

Phase 1 для мобильных клиентов настраивается в разделе **VPN > IPsec > Tunnels**. После сохранения настроек Mobile Clients pfSense автоматически создаёт запись Phase 1 с типом `mobile`.

![Phase 1 configuration for mobile clients](/img/pfsense/pfsense-ipsec-mobile-phase1.webp)
<p style="text-align: center;">Рис. 1. Настройка Phase 1 для мобильных клиентов</p>

### General Information

| Поле | Значение | Пояснение |
|---|---|---|
| Key Exchange version | IKEv2 | Обязательно IKEv2 для мобильных клиентов |
| Internet Protocol | IPv4 | Или IPv6, в зависимости от адресации |
| Interface | WAN | Интерфейс для приёма подключений |
| Description | `IKEv2 Mobile Clients` | Описание для идентификации |

### Phase 1 Proposal - Authentication

| Поле | Значение | Пояснение |
|---|---|---|
| Authentication Method | EAP-MSCHAPv2 | Аутентификация по логину и паролю |
| My identifier | Distinguished Name: `vpn.example.com` | Должен совпадать с CN или SAN серверного сертификата |
| Peer identifier | Any | Мобильные клиенты - идентификатор неизвестен заранее |
| My Certificate | `IKEv2 VPN Server` | Серверный сертификат, созданный ранее |
| My Certificate Authority | `IKEv2 VPN CA` | CA, подписавший серверный сертификат |

При использовании сертификатной аутентификации вместо EAP-MSCHAPv2 выберите **Authentication Method: Mutual RSA** и укажите соответствующий CA для проверки клиентских сертификатов.

> **Внимание**:
>
> При использовании EAP-MSCHAPv2 необходимо создать пользователей в **System > User Manager** с паролями. Эти учётные данные используются для аутентификации VPN-подключений.

### Phase 1 Proposal - Encryption Algorithm

| Поле | Значение | Пояснение |
|---|---|---|
| Algorithm | AES-256-GCM | Аутентифицированное шифрование с аппаратным ускорением |
| Key Length | 256 bits (auto) | При AES-GCM длина ключа определяется автоматически |
| Hash | SHA256 | PRF (Pseudo-Random Function) |
| DH Group | 14 (2048 bit) | Минимально рекомендуемая группа |

Для совместимости с более широким спектром клиентов допускается добавление дополнительных Encryption Algorithm. Рекомендуемый набор:

| Algorithm | Hash | DH Group | Примечание |
|---|---|---|---|
| AES-256-GCM | SHA256 | 14 | Основной (Windows 10/11, macOS, iOS) |
| AES-256-CBC | SHA256 | 14 | Резервный (Android, устаревшие клиенты) |

### Expiration and Replacement

| Поле | Значение | Пояснение |
|---|---|---|
| Life Time | 28800 | 8 часов |
| Rekey Time | (пусто) | Автоматический расчёт |
| Reauth Time | (пусто) | Автоматический расчёт |

### Advanced Options

| Поле | Значение | Пояснение |
|---|---|---|
| NAT Traversal | Auto | Автоматическое определение NAT |
| MOBIKE | Enable | Поддержка переключения между сетями |
| Dead Peer Detection | Enabled | Обнаружение отключённых клиентов |
| DPD Delay | 30 | Интервал DPD в секундах |
| DPD Max Failures | 5 | Количество неответов до отключения |

> **Внимание**:
>
> MOBIKE необходимо включить для мобильных клиентов. Без MOBIKE VPN-соединение разрывается при смене сети (например, при переходе с Wi-Fi на LTE).

## Настройка Phase 2

После сохранения Phase 1 необходимо создать Phase 2. Нажмите **Show Phase 2 Entries**, затем **Add P2**.

![Phase 2 configuration for mobile clients](/img/pfsense/pfsense-ipsec-mobile-phase2.webp)
<p style="text-align: center;">Рис. 2. Настройка Phase 2 для мобильных клиентов</p>

### General Information

| Поле | Значение | Пояснение |
|---|---|---|
| Mode | Tunnel IPv4 | Стандартный режим |
| Local Network | LAN subnet | Или конкретная подсеть: `10.1.0.0/24` |
| NAT/BINAT | None | Без трансляции адресов |
| Description | `IKEv2 Mobile - LAN Access` | Описание Phase 2 |

При необходимости доступа к нескольким подсетям (LAN, DMZ, серверная сеть) следует создать отдельную запись Phase 2 для каждой подсети.

### Phase 2 Proposal

| Поле | Значение | Пояснение |
|---|---|---|
| Protocol | ESP | Шифрование и аутентификация трафика |
| Encryption Algorithms | AES-256-GCM | Должен соответствовать возможностям клиентов |
| Hash Algorithms | SHA256 | Для совместимости с клиентами без поддержки GCM |
| PFS key group | 14 (2048 bit) | Perfect Forward Secrecy |

### Expiration and Replacement

| Поле | Значение | Пояснение |
|---|---|---|
| Life Time | 3600 | 1 час |
| Rekey Time | (пусто) | Автоматический расчёт |

## Правила файрвола

Для работы IKEv2 VPN необходимо создать правила на двух вкладках: **WAN** и **IPsec**.

### Правила на WAN-интерфейсе

На WAN-интерфейсе должен быть разрешён входящий трафик для установления IKE-соединений.

| Действие | Протокол | Источник | Порт назначения | Описание |
|---|---|---|---|---|
| Pass | UDP | Any | 500 | IKE - обмен ключами |
| Pass | UDP | Any | 4500 | NAT-T - инкапсуляция ESP в UDP |

pfSense автоматически создаёт правила для IKE-трафика при наличии настроенных IPsec-туннелей. Однако при использовании плавающих правил или нестандартной конфигурации файрвола может потребоваться явное добавление этих правил.

### Правила на вкладке IPsec

Вкладка **Firewall > Rules > IPsec** управляет трафиком, проходящим через VPN-туннель. По умолчанию весь трафик блокируется.

Минимальный набор правил:

| Действие | Протокол | Источник | Назначение | Описание |
|---|---|---|---|---|
| Pass | Any | `10.10.10.0/24` | LAN net | Разрешить трафик из VPN-пула в LAN |
| Pass | Any | `10.10.10.0/24` | `10.10.10.0/24` | Разрешить трафик между VPN-клиентами |

В производственной среде рекомендуется ограничивать правила конкретными протоколами и портами. Например, разрешить только DNS (UDP/TCP 53), RDP (TCP 3389), SSH (TCP 22) и HTTPS (TCP 443).

Более подробно о правилах файрвола описано в разделе [Правила файрвола pfSense](/docs/pfsense/firewall/pfsense-firewall-rules/).

## Настройка клиентов

### Windows 10/11

Windows 10 и 11 поддерживают IKEv2 через встроенный VPN-клиент. Для подключения необходимо импортировать сертификат CA и создать VPN-подключение.

#### Импорт сертификата CA

1. Экспортируйте сертификат CA из pfSense: **System > Cert. Manager > CAs** - нажмите иконку экспорта CA Certificate.
2. Скопируйте файл `.crt` на компьютер с Windows.
3. Откройте файл `.crt` двойным щелчком.
4. Нажмите **Install Certificate**.
5. Выберите **Local Machine** и нажмите **Next**.
6. Выберите **Place all certificates in the following store** и нажмите **Browse**.
7. Выберите **Trusted Root Certification Authorities** и нажмите **OK**.
8. Нажмите **Next**, затем **Finish**.

> **Внимание**:
>
> Сертификат CA необходимо установить в хранилище **Trusted Root Certification Authorities** компьютера (Local Machine), а не пользователя (Current User). В противном случае Windows не сможет проверить серверный сертификат.

#### Создание VPN-подключения

1. Откройте **Settings > Network & Internet > VPN**.
2. Нажмите **Add a VPN connection**.
3. Заполните параметры:

| Поле | Значение |
|---|---|
| VPN provider | Windows (built-in) |
| Connection name | `Office VPN` |
| Server name or address | `vpn.example.com` |
| VPN type | IKEv2 |
| Type of sign-in info | User name and password |
| User name | (имя пользователя из pfSense) |
| Password | (пароль пользователя) |

4. Нажмите **Save**.
5. Для подключения нажмите на созданное VPN-соединение и нажмите **Connect**.

#### Усиление безопасности на Windows

По умолчанию Windows может использовать слабые алгоритмы шифрования. Для принудительного использования стойких алгоритмов выполните в PowerShell от имени администратора:

```powershell
Set-VpnConnectionIPsecConfiguration -ConnectionName "Office VPN" `
    -AuthenticationTransformConstants GCMAES256 `
    -CipherTransformConstants GCMAES256 `
    -EncryptionMethod AES256 `
    -IntegrityCheckMethod SHA256 `
    -DHGroup Group14 `
    -PfsGroup PFS2048 `
    -Force
```

### macOS

macOS поддерживает IKEv2 через встроенные средства. Для настройки необходимо импортировать сертификат CA и создать сетевой профиль.

#### Импорт сертификата CA

1. Экспортируйте сертификат CA из pfSense в формате `.crt`.
2. Откройте файл на macOS - откроется Keychain Access.
3. Добавьте сертификат в **System** keychain.
4. Откройте добавленный сертификат двойным щелчком.
5. В разделе **Trust** установите **When using this certificate** в значение **Always Trust**.
6. Закройте окно и введите пароль администратора для подтверждения.

#### Создание VPN-подключения

1. Откройте **System Settings > VPN** (macOS 13+) или **System Preferences > Network** (macOS 12 и ранее).
2. Нажмите **Add VPN Configuration > IKEv2**.
3. Заполните параметры:

| Поле | Значение |
|---|---|
| Display Name | `Office VPN` |
| Server Address | `vpn.example.com` |
| Remote ID | `vpn.example.com` |
| Local ID | (оставьте пустым) |
| User Authentication | Username |
| Username | (имя пользователя из pfSense) |
| Password | (пароль пользователя) |

4. Нажмите **Create**.
5. Для подключения переключите переключатель VPN-соединения.

### iOS

iOS поддерживает IKEv2 без установки дополнительных приложений.

#### Установка профиля с CA-сертификатом

1. Экспортируйте сертификат CA из pfSense.
2. Отправьте файл `.crt` на устройство (через AirDrop, email или веб-сервер).
3. Откройте файл на устройстве - появится предложение установить профиль.
4. Перейдите в **Settings > General > VPN & Device Management**.
5. Нажмите на загруженный профиль и нажмите **Install**.
6. После установки перейдите в **Settings > General > About > Certificate Trust Settings**.
7. Включите доверие к установленному CA-сертификату.

#### Создание VPN-подключения

1. Перейдите в **Settings > General > VPN & Device Management > VPN**.
2. Нажмите **Add VPN Configuration**.
3. Заполните параметры:

| Поле | Значение |
|---|---|
| Type | IKEv2 |
| Description | `Office VPN` |
| Server | `vpn.example.com` |
| Remote ID | `vpn.example.com` |
| Local ID | (оставьте пустым) |
| User Authentication | Username |
| Username | (имя пользователя из pfSense) |
| Password | (пароль пользователя) |

4. Нажмите **Done**.
5. Для подключения переключите переключатель VPN в настройках.

### Android

Android поддерживает IKEv2 начиная с версии 11 через встроенный VPN-клиент. Для более ранних версий потребуется приложение strongSwan VPN Client из Google Play.

#### Android 11 и новее (встроенный клиент)

1. Экспортируйте сертификат CA из pfSense.
2. Перейдите в **Settings > Security > Encryption & credentials > Install a certificate**.
3. Выберите **CA certificate** и установите файл `.crt`.
4. Перейдите в **Settings > Network & Internet > VPN**.
5. Нажмите **+** для добавления нового VPN-профиля.
6. Заполните параметры:

| Поле | Значение |
|---|---|
| Name | `Office VPN` |
| Type | IKEv2/IPSec MSCHAPv2 |
| Server address | `vpn.example.com` |
| IPSec identifier | (оставьте пустым) |
| IPSec CA certificate | (выберите установленный CA) |
| Username | (имя пользователя из pfSense) |
| Password | (пароль пользователя) |

7. Нажмите **Save**.

#### strongSwan VPN Client (Android 10 и ранее)

1. Установите **strongSwan VPN Client** из Google Play.
2. Импортируйте сертификат CA через приложение.
3. Создайте новый VPN-профиль:

| Поле | Значение |
|---|---|
| Server | `vpn.example.com` |
| VPN Type | IKEv2 EAP (Username/Password) |
| Username | (имя пользователя из pfSense) |
| Password | (пароль пользователя) |
| CA certificate | Select automatically |

4. Нажмите **Save** и подключитесь.

## Split Tunnel и Full Tunnel

Режим туннелирования определяет, какой трафик клиента проходит через VPN.

### Full Tunnel

При полном туннелировании весь трафик клиента направляется через VPN, включая доступ в интернет. Этот режим обеспечивает максимальную защиту, но увеличивает нагрузку на VPN-сервер и канал связи.

Для настройки Full Tunnel:

1. В **VPN > IPsec > Mobile Clients** снимите флажок **Provide a list of accessible networks to clients**.
2. В Phase 2 установите **Local Network** в значение **Network / `0.0.0.0/0`**.
3. Настройте правило NAT для исходящего трафика VPN-клиентов: **Firewall > NAT > Outbound** - добавьте правило для подсети `10.10.10.0/24` с интерфейсом WAN.

> **Внимание**:
>
> При Full Tunnel необходимо настроить Outbound NAT для подсети VPN-клиентов, иначе VPN-клиенты не получат доступ в интернет через туннель.

### Split Tunnel

При раздельном туннелировании через VPN проходит только трафик к указанным сетям. Остальной трафик (включая интернет) идёт через обычное подключение клиента.

Для настройки Split Tunnel:

1. В **VPN > IPsec > Mobile Clients** установите флажок **Provide a list of accessible networks to clients**.
2. В Phase 2 создайте отдельную запись для каждой защищаемой подсети (например, `10.1.0.0/24` для LAN, `10.2.0.0/24` для серверной сети).
3. Список подсетей из Phase 2 будет автоматически передан клиентам.

### Особенности DNS при Split Tunnel

При Split Tunnel DNS-запросы могут направляться как через VPN, так и через локальное подключение. Это создаёт риск утечки DNS - запросы к внутренним доменам могут уходить через провайдера.

Для минимизации утечки DNS:

- Передавайте клиентам DNS-сервер через настройки Mobile Clients.
- На Windows: используйте параметр NRPT (Name Resolution Policy Table) для маршрутизации DNS-запросов к конкретным доменам через VPN.
- На macOS/iOS: DNS-трафик к указанному серверу автоматически направляется через VPN при корректной настройке маршрутов.

## Устранение неполадок

### Клиент не может подключиться

| Проблема | Причина | Решение |
|---|---|---|
| Timeout при подключении | Блокировка UDP 500/4500 | Проверьте правила файрвола на WAN и у провайдера |
| `IKE authentication credentials are unacceptable` | Неверный логин/пароль | Проверьте учётные данные в User Manager |
| `The certificate chain is not trusted` | CA-сертификат не установлен | Установите CA-сертификат в доверенное хранилище на клиенте |
| `The remote server is not responding` | Неверный адрес сервера | Проверьте адрес сервера в настройках клиента и DNS-разрешение |

### Ошибки сертификатов

| Проблема | Причина | Решение |
|---|---|---|
| `Certificate has expired` | Истёк срок действия сертификата | Перевыпустите сертификат в Cert. Manager |
| `Certificate name mismatch` | CN/SAN не совпадает с адресом | Пересоздайте серверный сертификат с корректным SAN |
| iOS отклоняет сертификат | Lifetime > 825 дней | Пересоздайте серверный сертификат с Lifetime 825 или менее |
| Windows: `Error 13801` | Проблема с серверным сертификатом | Убедитесь, что CA установлен в Local Machine, а не Current User |

### Ошибки EAP

| Проблема | Причина | Решение |
|---|---|---|
| `EAP_MSCHAPV2 failed` | Неверные учётные данные | Сбросьте пароль пользователя в User Manager |
| `no EAP method selected` | Неверный Authentication Method | Установите EAP-MSCHAPv2 в Phase 1 |
| Подключение разрывается через 1 секунду | Пользователь не входит в группу | Проверьте групповые ограничения в Mobile Clients |

### Подключение установлено, но нет доступа к ресурсам

| Проблема | Причина | Решение |
|---|---|---|
| Нет пинга до хостов в LAN | Отсутствуют правила на вкладке IPsec | Создайте правила, разрешающие трафик из VPN-пула |
| DNS не работает | DNS-сервер не передан клиенту | Настройте DNS Server в Mobile Clients |
| Нет интернета при Full Tunnel | Отсутствует Outbound NAT | Добавьте правило Outbound NAT для VPN-подсети |

### Диагностические команды

```bash
# View active IKEv2 sessions
ipsec statusall

# View connected mobile clients
ipsec leases

# View IPsec logs in real time
clog -f /var/log/ipsec.log

# Restart IPsec service
ipsec restart
```

## Связанные разделы

- [IPsec Site-to-Site VPN в pfSense](/docs/pfsense/vpn/ipsec/pfsense-ipsec-site-to-site/) - настройка site-to-site туннелей, терминология IPsec и общие принципы конфигурации
- [Диагностика IPsec VPN в pfSense](/docs/pfsense/vpn/ipsec/pfsense-ipsec-troubleshooting/) - систематическая диагностика IPsec, анализ логов и устранение ошибок Phase 1/Phase 2
- [Правила файрвола pfSense](/docs/pfsense/firewall/pfsense-firewall-rules/) - принципы создания и управления правилами файрвола для VPN-трафика

