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