CGNAT: що це таке і чому це важливо для користувачів VPN

Якщо ви колись намагалися налаштувати переадресацію портів і вона просто не працювала — що б ви не робили — причиною може бути саме CGNAT. Це одне з тих мережевих рішень, які ваш інтернет-провайдер приймає за лаштунками, але які мають цілком реальні наслідки для того, як ви користуєтеся інтернетом.

Що таке CGNAT?

Carrier-Grade NAT (також відомий як Large-Scale NAT або CGN) — це метод, який інтернет-провайдери використовують, щоб розтягнути запаси IPv4-адрес, що невпинно скорочуються. Замість того щоб надавати кожному клієнту власну унікальну публічну IP-адресу, провайдер призначає одну публічну IP-адресу одразу великій групі клієнтів. З точки зору зовнішнього світу, десятки або навіть сотні домогосподарств використовують одну й ту саму IP-адресу.

Уявіть це як багатоквартирний будинок з однією поштовою адресою. Сам будинок має цю єдину публічну адресу, але всередині знаходяться десятки окремих квартир. Пошта (інтернет-трафік) надходить до будинку, а система всередині направляє її до потрібної квартири. CGNAT і є такою системою маршрутизації — тільки значно масштабнішою, на рівні провайдера.

Як працює CGNAT

Стандартний NAT, який вже виконує більшість домашніх маршрутизаторів, перетворює вашу приватну локальну IP-адресу (наприклад, 192.168.x.x) на публічну IP-адресу маршрутизатора. CGNAT додає ще один рівень поверх цього. Вашому маршрутизатору призначається приватна IP-адреса в діапазоні 100.64.0.0/10 (зарезервованому спеціально для CGNAT), а система провайдера потім перетворює її на єдину спільну публічну IP-адресу.

Таким чином, шлях виглядає так:

Ваш пристрій → NAT домашнього маршрутизатора → система CGNAT провайдера → публічний інтернет

Саме це подвійне NAT-налаштування і спричиняє стільки проблем. Будь-який запит, який ви надсилаєте, може отримати відповідь, що повернеться до вас, оскільки система відстежує вихідні з'єднання. Але вхідні з'єднання — ті, що ініціюються ззовні — не мають куди потрапити. Система CGNAT не знає, якому саме з її численних клієнтів має бути адресований незапрошений вхідний запит.

Чому CGNAT важливий для користувачів VPN

CGNAT створює кілька практичних проблем, які безпосередньо впливають на продуктивність і функціональність VPN:

Переадресація портів стає майже неможливою. Запуск домашнього сервера, ігрового сервера або будь-якого сервісу, що вимагає підключення до вас із зовні, блокується CGNAT. Правила переадресації портів, встановлені на вашому домашньому маршрутизаторі, не мають жодного ефекту, оскільки рівень CGNAT провайдера знаходиться перед ним.

Погіршення peer-to-peer з'єднань. Торентинг, ігри з прямими peer-з'єднаннями та застосунки на основі WebRTC погано функціонують в умовах CGNAT. Ці технології залежать від доступності ззовні вашої мережі, що CGNAT унеможливлює.

Проблеми з репутацією спільної IP-адреси. Оскільки сотні користувачів використовують одну публічну IP-адресу, якщо хтось із них займається спамом або зловживаннями, ця IP-адреса може потрапити до чорних списків. Усі, хто її використовує, тоді страждають від наслідків — заблоковані сайти, CAPTCHA або позначені акаунти.

Самостійне розгортання VPN вдома заблоковане. Якщо ви хочете самостійно розгорнути сервер WireGuard або OpenVPN вдома, щоб підключатися до домашньої мережі під час подорожей, CGNAT повністю заблокує вхідні VPN-з'єднання.

Як VPN допомагає (і в чому його обмеження)

Використання комерційного VPN-сервісу дозволяє обійти більшість проблем, пов'язаних із CGNAT. Коли ви підключаєтеся до VPN, ваш трафік виходить через сервер VPN-провайдера, який має справжню публічно маршрутизовану IP-адресу. Це дозволяє уникнути проблеми спільної IP-адреси та відновлює більш пряме інтернет-з'єднання.

Деякі VPN-провайдери також пропонують переадресацію портів як окрему функцію, що дозволяє вхідним з'єднанням досягати вас через VPN-тунель — вирішуючи саме ту проблему, яку спочатку створив CGNAT. Виділена IP-адреса від VPN-провайдера є ще одним рішенням, якщо на вас впливають проблеми з репутацією спільної IP-адреси.

Однак VPN не виправить CGNAT для вхідних з'єднань автоматично, якщо конкретна функція переадресації портів не ввімкнена та не налаштована.

Загальна картина

CGNAT існує через вичерпання IPv4-адрес. Довгострокове вирішення проблеми — це IPv6, який забезпечує достатню кількість унікальних адрес для кожного пристрою на землі. Багато провайдерів поступово впроваджують IPv6, але доки його прийняття не стане повсюдним, CGNAT залишається поширеним обхідним рішенням — і поширеним джерелом розчарування для технічно підкованих користувачів.