Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Как удалить правило из файрвола UFW в Ubuntu: ufw status numbered

Обновлено: 27.08.2026 · Официальная документация ↗

Ошибочные правила в межсетевом экране UFW

UFW (Uncomplicated Firewall) — это стандартный брандмауэр в Ubuntu Linux. При настройке защиты администраторы часто случайно открывают ненужные порты, допускают ошибки в IP-адресах или создают дублирующие правила. Если на сервере скопились десятки старых записей, брандмауэр начинает работать непредсказуемо, блокируя доступ доверенным сервисам.

Опасность неправильного удаления:

Попытка удалить правило вслепую по имени (например, ufw delete allow 80) может удалить не то правило или выдать ошибку, если у вас было открыто несколько протоколов (TCP и UDP). Самый безопасный и визуально понятный метод — удаление правил по их порядковым номерам.

Пошаговое удаление правил по номерам

  1. Шаг 1. Выводим нумерованный список всех правил

    Выполните команду просмотра статуса с флагом numbered:

    sudo ufw status numbered

    Вы увидите четкий список с квадратными скобками:

    Status: active
    
         To                         Action      From
         --                         ------      ----
    [ 1] 22/tcp                     ALLOW IN    Anywhere
    [ 2] 80/tcp                     ALLOW IN    Anywhere
    [ 3] 8080                       ALLOW IN    Anywhere
    [ 4] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
    [ 5] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
  2. Шаг 2. Удаляем ошибочное правило по его номеру

    Допустим, мы хотим удалить ненужный открытый порт 8080 (номер [ 3] в списке):

    sudo ufw delete 3

    Система попросит подтвердить действие: Deleting: allow 8080 Proceed with operation (y|n)?. Нажмите латинскую клавишу y и нажмите Enter.

  3. Шаг 3. Перезагружаем фаервол для применения

    sudo ufw reload

Важное предостережение при удалении нескольких правил:
После удаления правила номер 3 номера всех правил, которые шли ниже него, сдвигаются вверх на единицу! Если вам нужно удалить несколько правил, всегда удаляйте их в обратном порядке (от большего номера к меньшему), либо заново выполняйте sudo ufw status numbered после каждого удаления.

💡 Практика специалистов: Всегда используйте команду sudo ufw insert 1 ... при добавлении запрещающих правил (Deny). Правила в UFW обрабатываются строго сверху вниз до первого совпадения. Если общее разрешающее правило Allow стоит выше запрещающего, бан просто не сработает.

Частые вопросы (FAQ)

Что делать, если я случайно удалил правило для порта 22 (SSH)?

Пока текущая SSH-сессия не закрыта, срочно выполните команду: sudo ufw allow 22/tcp && sudo ufw reload. Ни в коем случае не закрывайте окно терминала до этого момента!

Как полностью сбросить все правила UFW до заводских настроек?

Выполните команду сброса: sudo ufw reset. Фаервол отключится и удалит все созданные ранее правила.

Почему в выводе ufw status numbered каждое правило дублируется с припиской (v6)?

Первая строчка открывает порт для протокола IPv4, а строчка с (v6) открывает этот же порт для IPv6 адресов. Это штатное поведение UFW.

Как запретить определенный IP адрес (добавить в бан)?

Выполните команду запрета: sudo ufw insert 1 deny from 203.0.113.50 to any (команда вставит бан-правило на самое первое место в списке).

Полезные материалы
Рекомендуем