1. Введение
ip a
UFW когда то встроенный firewall в Ubuntu, больше не установлен по умолчанию. Придется его установить вручную.
sudo apt update
sudo apt upgrade
sudo apt install ufw
В первую очередь настроим переадрессацию. настройке переадресации портов с помощью UFW.
2. Включение пересылки пакетов
Прежде чем мы настроим UFW для разрешения переадресации портов, нам нужно включить переадресацию пакетов. Это можно сделать одним из следующих способов:
- Файл сетевых переменных UFW: /etc/ufw/sysctl.conf
- файл системных переменных: /etc/sysctl.conf
В этом руководстве мы будем использовать файл сетевых переменных UFW, посколькуUFW отдаёт ему приоритет перед файлом системных переменных.
Чтобы включить переадресацию пакетов, откроем /etc/ufw/sysctl.conf:
$ sudo nano /etc/ufw/sysctl.conf
После этого давайте раскомментируем
net/ipv4/ip_forward=1.
Если у нас есть доступ к пользователю root, мы можем включить переадресацию пакетов в /etc/ufw/sysctl.conf, выполнив команду:
# echo 'net/ipv4/ip_forward=1' >> /etc/ufw/sysctl.conf
Эта команда по сути добавляет в файл /etc/ufw/sysctl.conf строку с комментариями для переадресации пакетов.
3. Настройка переадресации портов в UFW
Мы можем настроить UFW для переадресации трафика с внешнего порта на внутренний. При необходимости мы также можем настроить переадресацию трафика с внешнего порта на сервер, прослушивающий определённый внутренний порт.
3.1. Перенаправление портов с внешнего порта на внутренний
Чтобы настроить переадресацию портов в UFW, необходимо отредактировать файл /etc/ufw/before.rules:
$ sudo nano /etc/ufw/before.rules
В файле before.rules добавим таблицу NAT после таблицы фильтров (таблицы, которая начинается с *filter и заканчивается COMMIT):
(где 192.168.1.0/24
- диапазон адресов локальной сети, а enp1s0
- интерфейс с выходом в интернет:
# nat Table rules *nat :POSTROUTING ACCEPT [0:0] # Forward traffic from enp3s0 through enp1s0. -A POSTROUTING -s 192.168.1.0/24 -o enp1s0 -j MASQUERADE # don't delete the 'COMMIT' line or these nat table rules won't be processed COMMIT