Справочник

Фаервол ufw в Ubuntu: как включить и не потерять доступ по SSH

ufw — фаервол, который входит в Ubuntu. Он решает, к каким портам сервера можно подключиться из интернета. Включать его нужно в правильном порядке: сначала разрешить SSH, потом включить. Иначе сервер закроет вход и вам.

Обновлено 11.10.2026≈ 6 мин чтения
Содержание 9

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Проверьте, включён ли фаервол: sudo ufw status. Ответ Status: inactive значит, что он выключен.
  3. Разрешите вход по SSH: sudo ufw allow OpenSSH. Ответ Rule added — правило добавлено.
  4. Если на сервере сайт, откройте порты 80 и 443: sudo ufw allow 80/tcp, затем sudo ufw allow 443/tcp.
  5. Включите фаервол: sudo ufw enable. ufw предупредит, что команда может прервать подключения SSH, и спросит, продолжать ли. Нажмите y и Enter.
  6. Ответ Firewall is active and enabled on system startup — фаервол работает и включится сам после перезагрузки.
  7. Не закрывая это окно, откройте второе окно терминала и подключитесь к серверу ещё раз. Подключилось — всё в порядке. Не подключилось — в первом окне выполните sudo ufw disable и проверьте правила.

Что ufw делает по умолчанию

НаправлениеЧто делает ufw
входящие подключениязакрыты все, кроме портов, которые вы разрешили
исходящие подключенияразрешены: сервер сам скачивает обновления и ходит в интернет
пересылка трафика через серверзакрыта; для сайта не нужна

После установки Ubuntu ufw выключен: все порты, которые слушают программы, доступны снаружи. Правила можно добавлять и при выключенном ufw — они заработают после sudo ufw enable.

Как читать ufw status

Подробный ответ показывает команда sudo ufw status verbose. Его начало:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
СтрокаЧто значит
Status: activeфаервол включён
Logging: on (low)заблокированные подключения записываются в журнал
deny (incoming)входящие закрыты, кроме разрешённых правилами
allow (outgoing)исходящие разрешены
disabled (routed) или deny (routed)пересылка выключена или закрыта
New profiles: skipновые программы сами правил не добавляют

Ниже идёт таблица правил: в столбце To — порт или профиль, в Action — что с ним делать (ALLOW — разрешить, DENY — запретить, LIMIT — разрешить с ограничением), в From — откуда. Anywhere значит «с любого адреса». Строки с пометкой (v6) — те же правила для IPv6: ufw добавляет их сам.

Основные команды

КомандаЧто делает
sudo ufw statusвключён ли фаервол и какие правила есть
sudo ufw status numberedправила с номерами — чтобы удалить по номеру
sudo ufw allow 443/tcpоткрыть порт 443 для TCP
sudo ufw allow proto tcp from 198.51.100.7 to any port 3306открыть порт только для одного адреса
sudo ufw deny 8080/tcpзапретить подключения к порту
sudo ufw limit OpenSSHSSH с защитой от перебора паролей — ниже
sudo ufw delete allow 443/tcpудалить правило: повторите его после delete
sudo ufw delete 3удалить правило номер 3 из status numbered
sudo ufw app listпрофили программ, например OpenSSH
sudo ufw app info OpenSSHкакие порты открывает профиль
sudo ufw --dry-run allow 80/tcpпоказать, что изменится, ничего не меняя
sudo ufw disableвыключить фаервол, правила сохранятся

Подробно об открытии портов — в инструкции как открыть порт, о проверке снаружи — как проверить, открыт ли порт.

Защита SSH от перебора паролей

Правило limit пропускает подключения, но запрещает адресу, который за 30 секунд пытается подключиться 6 раз и больше. Так ufw мешает ботам перебирать пароли.

sudo ufw limit OpenSSH

Если правило allow OpenSSH уже есть, ufw заменит его и ответит Rule updated. Учтите: скрипт, который подключается к серверу по SSH много раз подряд с одного адреса, тоже может попасть под ограничение.

Как выключить или начать заново

КомандаЧто будет
sudo ufw disableфаервол выключится и не включится после перезагрузки; правила останутся
sudo ufw enableвключить снова с прежними правилами
sudo ufw resetвыключить и удалить все правила; ufw спросит подтверждение

После sudo ufw reset начните с начала страницы: сначала sudo ufw allow OpenSSH, потом sudo ufw enable.

Ошибки и как их исправить

Что видноЧто значитЧто сделать
после sudo ufw enable не подключиться по SSHправила для SSH не быловойдите через консоль в панели провайдера и выполните sudo ufw allow OpenSSH
SSH работает на другом порту, после enable входа нетпрофиль OpenSSH открыл не тот портчерез консоль откройте свой порт: sudo ufw allow 2222/tcp, где 2222 — ваш порт
Could not find a profile matching 'OpenSSH'профиля OpenSSH на сервере нетоткройте порт номером: sudo ufw allow 22/tcp
Skipping adding existing ruleтакое правило уже естьничего делать не нужно
Could not delete non-existent ruleпосле delete правило записано не так, как при добавлениипосмотрите sudo ufw status numbered и удалите по номеру
You need to be root to run this scriptufw запущен без sudoповторите команду с sudo
sudo: ufw: command not foundufw не установленsudo apt install ufw
порт открыт в ufw, а снаружи не подключитьсяпорт закрыт фаерволом в панели провайдера или программа его не слушаеткак проверить
порт контейнера доступен, хотя в ufw он закрытDocker открывает порты мимо ufwразбор

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026