NAT (Network Address Translation) — механизм, при котором маршрутизатор или сервер подменяет IP-адрес в пакетах при их передаче между сетями. Позволяет множеству устройств с приватными IP выходить в интернет через один публичный IP.
Типы NAT
| Тип | Направление | Применение |
|---|---|---|
| SNAT (Source NAT) | Изнутри наружу | Выход в интернет из LAN |
| DNAT (Destination NAT) | Снаружи внутрь | Port forwarding, проброс портов |
| Masquerade | Изнутри наружу | SNAT с динамическим IP |
| Full-cone NAT | Обе стороны | P2P, VoIP, игры |
Как работает NAT (пример)
Устройство (192.168.1.5:12345) → Роутер → Интернет (1.2.3.4:12345)
Роутер видит: src=192.168.1.5:12345, dst=8.8.8.8:53
Меняет на: src=1.2.3.4:12345, dst=8.8.8.8:53
Запоминает в таблице: 1.2.3.4:12345 ↔ 192.168.1.5:12345
Ответ: src=8.8.8.8:53, dst=1.2.3.4:12345
Роутер переводит обратно: 1.2.3.4:12345 → 192.168.1.5:12345
Настройка NAT в iptables (Linux-роутер)
# Включить IP forwarding
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
# Постоянно: /etc/sysctl.conf → net.ipv4.ip_forward=1
# MASQUERADE — NAT для выхода в интернет (eth0 = WAN)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# DNAT — проброс порта (80 → внутренний сервер)
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
# Сохранить правила
sudo netfilter-persistent save
Когда NAT на VPS мешает
Некоторые хостинги размещают VPS за shared NAT-адресом:
- Почтовый сервер — PTR-запись не совпадает с IP, письма отклоняются
- VPN-сервер — протоколы IPSec/WireGuard требуют публичный IP без NAT
- Game server — игроки не могут подключиться напрямую
- DDoS-защита — сложнее настроить правила под shared IP
💡 ZevsHost VDS: Все VDS-серверы ZevsHost получают выделенный публичный IPv4-адрес без NAT. Это обязательно для почтовых серверов, VPN и игровых серверов.