Настройка форвардинга на UFW для Ubuntu Server

UFW (Uncomplicated Firewall) — это утилита для управления пакетами брандмауэра в Linux, которая предоставляет удобный интерфейс для настройки iptables. Он создан для упрощения процесса управления сетевыми правилами и подходит как для новичков, так и для опытных администраторов.
NAT (Network Address Translation) — это метод, позволяющий изменять адреса IP в заголовках пакетов, проходящих через маршрутизатор или брандмауэр. Он часто используется для обеспечения доступа к ресурсам из локальной сети в Интернет, скрывая внутренние IP-адреса от внешней сети.
Установка UFW
Для установки UFW используйте следующую команду:
sudo apt-get install ufw
Эта команда загружает и устанавливает пакет UFW из репозиториев, доступных в вашей системе. После установки UFW будет готов к использованию.
Включение IP-перенаправления (IP Forwarding)
Чтобы маршрутизатор мог пересылать пакеты между сетями, необходимо включить форвардинг. Это делается с помощью следующей команды:
echo 1 > /proc/sys/net/ipv4/ip_forward
Эта команда помещает 1 в файл, чтобы разрешить форвардинг для IPv4. Однако, чтобы это изменение сохранялось после перезагрузки системы, нужно внести изменения в конфигурационный файл.
Изменение файла sysctl.conf
Для перманентного включения IP Forwarding отредактируйте файл /etc/sysctl.conf:
nano /etc/sysctl.conf
Раскоментируйте следующую строку:
net.ipv4.ip_forward=1
После внесения изменений примените их выполнив:
sudo sysctl -p
Конфигурация UFW для маршрутизации
Чтобы UFW корректно работал с маршрутизацией, необходимо настроить следующие файлы:
nano /etc/default/ufw
В этом файле нужно изменить значение по умолчанию для политики пересылки:
DEFAULT_FORWARD_POLICY=«ACCEPT»
Сохраняем и выходим. Далее переходим в следующий файл:
nano /etc/ufw/sysctl.conf
Убедитесь, что в файле присутствует следующее:
net.ipv4.ip_forward=1
Сохраняем и выходим. Для настройки NAT, необходимо отредактировать файл /etc/ufw/before.rules:
nano /etc/ufw/before.rules
Добавьте следующие правила в секцию *nat (сверху над секцией *filter):
*nat
: PREROUTING ACCEPT [0:0]
: POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 22 -j DNAT --to 8.8.8.8:53
-A POSTROUTING -o ens33 -j MASQUERADE
COMMIT
Здесь:
: PREROUTING ACCEPT и : POSTROUTING ACCEPT устанавливают начальные политики для манипуляций с пакетами.
Правило -A PREROUTING -p tcp --dport 22 -j DNAT --to 8.8.8.8:53 перенаправляет входящие соединения на 22 порт (SSH) на адрес 8.8.8.8 на порт 53 (DNS).
Правило -A POSTROUTING -o ens33 -j MASQUERADE позволяет скрыть внутренний IP-адрес, заменяя его на внешний IP-адрес интерфейса ens33. Это необходимо для корректной работы NAT.
Заключение
Настройка UFW — важный шаг при управлении сетевой безопасностью и маршрутизацией в Linux. Убедитесь в том, что после настройки вы проверили работоспособность правил, используя различные инструменты, такие как ping, traceroute или telnet, и при необходимости вносили коррективы в конфигурацию.