Компьютерные сети

NAT: один IP на всех

IPv4-адресов всего 4.3 миллиарда, а устройств - десятки миллиардов. NAT - это хак, который позволяет интернету работать: ваш дом, офис, кофейня делят один публичный IP между сотнями устройств.

  • **Домашние сети:** каждый роутер использует NAT
  • **Корпоративные сети:** тысячи устройств за несколькими IP
  • **Серверы:** port forwarding для веб-хостинга дома

Предварительные знания

  • Private and Public Addresses
  • Ports: doors into a computer

Типы NAT

**NAT** (Network Address Translation) - технология подмены IP-адресов при прохождении через роутер. Позволяет устройствам с приватными адресами (192.168.x.x) выходить в интернет через один публичный IP. Решает проблему нехватки IPv4-адресов.

**PAT = Port Address Translation** - самый распространённый тип. Домашние роутеры используют PAT. Один публичный IP обслуживает сотни устройств благодаря уникальным портам.

Какой тип NAT использует домашний роутер?

SNAT и DNAT

**SNAT** (Source NAT) - подмена адреса источника. Используется для выхода из приватной сети наружу. **DNAT** (Destination NAT) - подмена адреса назначения. Используется для проброса портов внутрь сети.

**Masquerade в Linux** - динамический SNAT. Автоматически использует IP интерфейса. Удобно когда внешний IP динамический (DHCP от провайдера).

Когда используется DNAT?

Port Forwarding

**Port Forwarding** - частный случай DNAT. Роутер перенаправляет входящие соединения на определённый порт к конкретному устройству в локальной сети. Нужен для серверов, игр, торрентов, удалённого доступа.

**Hairpin NAT / NAT Loopback:** Позволяет обращаться к серверу по внешнему IP изнутри сети. Без него: изнутри 192.168.1.100 доступен, но 203.0.113.50:80 - нет. Не все роутеры поддерживают.

Зачем нужен Port Forwarding?

NAT Traversal

**NAT Traversal** - методы установки соединения между устройствами за NAT без ручного проброса портов. Критично для P2P, VoIP, видеозвонков, онлайн-игр. Основные техники: STUN, TURN, ICE.

**Типы NAT по RFC 3489:** Full Cone (самый открытый), Restricted Cone, Port Restricted Cone, Symmetric (самый закрытый). Symmetric NAT сложнее всего пробить - может потребоваться TURN-сервер.

NAT - это защита от хакеров

NAT скрывает устройства, но не является файрволом

NAT не фильтрует трафик - он транслирует адреса. Безопасность - побочный эффект: входящие соединения блокируются, если нет записи в таблице. Но это не замена файрволу. Для защиты нужен настоящий firewall.

Что делает STUN-сервер?

Ключевые идеи

  • **NAT** транслирует приватные IP в публичные
  • **SNAT** - подмена источника (выход в интернет)
  • **DNAT** - подмена назначения (проброс портов)
  • **NAT Traversal** (STUN) - P2P через NAT без ручного проброса

Связанные темы

NAT взаимодействует со многими технологиями:

  • Проблемы NAT — P2P, VoIP, игры - детальнее о сложностях
  • IPv6 — IPv6 устраняет необходимость NAT
  • VPN — VPN решает проблемы NAT туннелированием

Вопросы для размышления

  • Почему IPv6 не требует NAT?
  • Как NAT влияет на peer-to-peer приложения?
  • Почему NAT - не замена файрволу?

Связанные уроки

  • sec-01
NAT: один IP на всех

0

1

Войти