UFW — простой фронтенд к iptables для управления правилами на VPS.
📋 Требования
- VPS с root/sudo
- SSH
- Ubuntu/Debian
📥 Установка
Bashsudo apt update sudo apt install ufw -y sudo ufw status
До включения часто: Status: inactive
⚙️ Базовая настройка
Критично: перед
enableразрешите SSH (22), иначе потеряете доступ.
Bashsudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
🔧 Дополнительно
Bashsudo ufw allow 8080/tcp sudo ufw allow 53/udp sudo ufw allow 3306/tcp sudo ufw allow 5432/tcp sudo ufw allow from 192.168.1.100 sudo ufw allow from 192.168.1.100 to any port 22 sudo ufw allow from 10.0.0.0/8 sudo ufw deny from 192.168.1.100 sudo ufw deny 3306/tcp
📊 Управление
Bashsudo ufw status sudo ufw status numbered sudo ufw status verbose sudo ufw delete 3 sudo ufw delete allow 8080/tcp sudo ufw --force reset
🎯 Примеры
Веб-сервер:
Bashsudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
БД только из подсети:
Bashsudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow from 10.0.0.0/8 to any port 3306 sudo ufw enable
Minecraft:
Bashsudo ufw allow 25565/tcp
📝 Логи
Bashsudo tail -f /var/log/ufw.log sudo tail -n 50 /var/log/ufw.log
🔄 Отключение
Bashsudo ufw disable sudo ufw enable
✅ Рекомендации
- Сначала SSH, потом
enable. - Открывайте минимум портов.
- Проверьте доступ до выхода из SSH.
- Смотрите логи.
- Дополнительно можно использовать fail2ban.
🆘 Устранение
Заблокировали сами себя — консоль хостера/VNC, sudo ufw disable.
Правила не срабатывают — status, numbered, reload.
Docker и UFW — возможны конфликты; вариант с осторожностью:
JSON{ "iptables": false }
в /etc/docker/daemon.json, затем sudo systemctl restart docker — понимайте последствия для безопасности.
📚 Ссылки
❓ Вопросы
Два фаервола сразу? Лучше один, чтобы не путать правила.
Docker? См. раздел выше; часто настраивают цепочки вручную.
Несколько портов? Цикл в bash или по одной команде allow.
Удачной настройки.