Настройка UFW
Как включить и настроить брандмауэр UFW на Ubuntu и Debian.
Время: 10 мин · Сложность: ★☆☆☆☆
Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12
Краткое описание
UFW (Uncomplicated Firewall) — удобная оболочка над iptables/nftables для управления правилами файрвола. Простые команды вместо длинных цепочек iptables. Подходит для большинства задач на VPS: ограничить входящие соединения, открыть только нужные порты, заблокировать трафик с конкретного IP.
Когда пригодится
- При первичной настройке нового VPS
- Когда нужно быстро закрыть все порты кроме SSH, HTTP и HTTPS
- Если не хотите разбираться с синтаксисом iptables напрямую
Что понадобится
- Root-доступ к серверу
- Ubuntu 22.04 или Debian 12
- Активная SSH-сессия (не закрывайте её во время настройки)
Пошаговая инструкция
Установка (обычно UFW уже есть в системе):
apt install -y ufw
Сначала разрешите SSH — иначе потеряете доступ после включения UFW:
ufw allow ssh
Если SSH работает на нестандартном порту (например, 2222):
ufw allow 2222
Включите UFW:
ufw enable
Разрешите HTTP и HTTPS для веб-сервера:
ufw allow 80
ufw allow 443
Разрешите UDP-порт (например, для WireGuard):
ufw allow 51820/udp
Заблокируйте конкретный порт:
ufw deny 8080
Проверьте текущие правила:
ufw status verbose
Удалите правило:
ufw delete allow 8080
Перезагрузите правила после изменений:
ufw reload
Проверка результата
ufw status
Вывод должен показывать Status: active и таблицу с разрешёнными портами:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
Возможные ошибки
Потеряли SSH-доступ после ufw enable — значит, не добавили правило для SSH до включения. Откройте VNC-консоль в панели VMmanager, войдите и выполните:
ufw disable
ufw allow ssh
ufw enable
Правило не применяется — выполните ufw reload и снова проверьте ufw status.
UFW включён, но соединения всё равно проходят — убедитесь что UFW не конфликтует с другим файрволом. На AlmaLinux по умолчанию используется firewalld, не UFW.
FAQ
Как посмотреть все правила с номерами?
ufw status numbered
Это удобно для точечного удаления правил:
ufw delete 3
Как сбросить все правила и начать заново?
ufw reset
UFW отключится, все правила удалятся. После этого снова настройте с нуля.
Как разрешить доступ только с конкретного IP?
ufw allow from 192.168.1.100 to any port 22
Как запретить всё исходящее?
ufw default deny outgoing
После этого нужно явно разрешать нужный исходящий трафик (например, DNS: ufw allow out 53).
UFW или nftables — что выбрать? UFW достаточно для большинства серверов. nftables нужен когда требуется тонкая настройка: лимиты скорости, метки пакетов, сложные цепочки правил.
Полезные ссылки
man ufw— полная справка по командам/etc/ufw/— директория с конфигурационными файлами UFW/var/log/ufw.log— лог заблокированных соединений