NAT (Network Address Translation) - это технология трансляции сетевых адресов, которая позволяет устройствам локальной сети выходить в Интернет через один общий внешний IP. Она лежит в основе почти каждого домашнего роутера и многих корпоративных решений. Но под капотом у NAT есть разные виды — разберёмся, в чём их суть и где применять.
❓ Что делает NAT?
NAT подменяет исходные или целевые IP-адреса (и порты) в IP-пакетах. Это позволяет:
📍 Скрывать внутреннюю адресацию;
📍 Пробрасывать доступ к локальным сервисам извне;
📍 Повышать безопасность, не раскрывая реальную структуру сети
▪️ SNAT (Source NAT). Изменяет исходный IP-адрес пакета, обычно при выходе из локальной сети в Интернет. Пример:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 203.0.113.5
Используется, когда у сервера постоянный внешний IP.
▪️ MASQUERADE. Вариант SNAT для динамического IP-адреса (например, от провайдера через PPPoE). Автоматически подставляет текущий внешний IP:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Отличный выбор для нестабильного внешнего интерфейса.
▪️ DNAT (Destination NAT). Меняет целевой IP-адрес. Применяется для проброса портов — когда нужно, чтобы запросы снаружи попадали на внутренние машины:
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.100:22
Удобно для проброса SSH, HTTP, RDP и других сервисов внутрь локальной сети.
▪️ Пример: У вас есть веб-сервер 192.168.1.10 в локалке, а внешний IP — динамический. Тогда для организации доступа из интернета:
📍 Используем MASQUERADE на исходящий трафик;
📍 Применяем DNAT для проброса порта 80 на 192.168.1.10
🌟 Важно помнить:
📍 Все правила NAT создаются в таблице nat;
📍 SNAT и MASQUERADE — в цепочке POSTROUTING;
📍 DNAT - в цепочке PREROUTING
#NAT #iptables
🧑💻 NetworkAdmin