====== Настройка NAT (iptables) ======
{{data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdib3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHlsZT0iY29sb3I6ICMzNmM7Ij48cGF0aCBkPSJNMTIgMkwyIDdsMTAgNSAxMC01LTEwLTV6TTIgMTdsMTAgNSAxMC01TTIgMTJsMTAgNSAxMC01Ij48L3BhdGg+PC9zdmc+}} AltLinNetHelp
Сеть и маршрутизация
[[#|Введение в NetworkManager]] [[#|Настройка статического IP]] [[#|NAT и iptables]] [[#|Маршрутизация OSPF]]
Безопасность
[[#|Базовая настройка UFW]] [[#|SSH ключи и конфиги]] [[#|Fail2Ban]]
Главная / Сеть / NAT и iptables
====== Настройка NAT с использованием iptables ======
Данная статья описывает процесс настройки трансляции сетевых адресов (NAT) на базе ''%%iptables%%''. Материал покрывает типовые сценарии маршрутизации в Linux-системах.
**Примечание:** Синтаксис актуален для Linux-систем, использующих классический пакет iptables.
===== Установка пакетов =====
Для начала работы необходимо убедиться, что утилита установлена в системе. Если iptables отсутствует, выполните установку из стандартных репозиториев:
# Обновление кэша и установка
apt-get update && apt-get install -y iptables
===== Настройка MASQUERADE =====
В зависимости от конфигурации сети, необходимо добавить правило для замены IP-адресов всех входящих пакетов на IP-адрес внешнего интерфейса.
Для корректной работы маскарадинга необходимо указать исходящий интерфейс. Обязательно замените ''%%<имя_интерфейса>%%'' на ваш актуальный интерфейс (например, ''%%eth0%%'' или ''%%wan0%%''):
iptables -t nat -A POSTROUTING -j MASQUERADE -o <имя_интерфейса>
===== Сохранение и автозагрузка =====
По умолчанию правила iptables сбрасываются при перезагрузке. Чтобы сделать их постоянными, сохраните текущую конфигурацию:
iptables-save > /etc/sysconfig/iptables
Активируйте службу для автоматического восстановления правил при каждой загрузке ОС:
systemctl enable --now iptables
===== Настройка ядра (Forwarding) =====
Для корректной работы маршрутизатора необходимо разрешить пересылку входящих пакетов на уровне ядра Linux.
# Откройте конфигурационный файл
vim /etc/net/sysctl.conf
Добавьте или раскомментируйте следующую строку:
net.ipv4.ip_forward = 1
//(В редакторе vim: нажмите ''%%ESC%%'', затем введите ''%%:wq%%'' и нажмите ''%%Enter%%'' для сохранения и выхода)//
===== Применение изменений =====
Чтобы ядро и сетевые интерфейсы подхватили новые настройки, перезапустите сеть, чтобы применить новые правила:
systemctl restart network
**Troubleshooting:** При перезапуске сети удаленная сессия может "подвиснуть". В случае долгого ожидания выполнения команды используйте ''%%Ctrl+C%%'' для прерывания вывода.