====== Настройка 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%%'' для прерывания вывода.