UFW блокирует интернет

Вопрос или проблема

Конечно, вчера все работало.

С командой UFW enabled нет подключения к интернету.

Правила UFW:

Добавлены пользовательские правила (см. 'ufw status' для работающего фаервола):
ufw allow 22
ufw allow 21
ufw allow 80
ufw allow 8080
ufw allow 443

Что бы я ни пробовал, статус всегда UFW active (exited).

/etc/init.d/UFW status:

root@ubuntu:/etc/init.d# ./ufw status
● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2025-02-10 23:35:14 EST; 1h 45min ago
 Main PID: 390 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/ufw.service

Feb 11 01:03:52 ubuntu.domain.com systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

Я удалил UFW, очистил UFW, удалил iptables, очистил iptables
и всё равно получаю active (exited).

Решения, предложенные для других, похоже, не работают для меня.

При проверке статуса службы UFW, вы можете использовать следующую команду, которая предоставляет тот же вывод, что и /etc/init.d/ufw status, но, вероятно, является более стандартной:

$ systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2025-02-10 21:13:39 PST; 1h 59min ago
       Docs: man:ufw(8)
    Process: 892 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
   Main PID: 892 (code=exited, status=0/SUCCESS)
        CPU: 1ms

Feb 10 21:13:39 ubuntu-laptop systemd[1]: Starting Uncomplicated firewall...
Feb 10 21:13:39 ubuntu-laptop systemd[1]: Finished Uncomplicated firewall.

Чтобы проверить статус правил UFW, используйте sudo ufw status. Это покажет, активны ли правила фаервола active или inactive.

$ sudo ufw status
Status: inactive

Это может казаться немного запутанным, потому что может сказать enabled при проверке статуса сервиса с systemctl status ufw, но inactive при проверке статуса с sudo ufw status. Разница в том, что статус от systemctl указывает, был ли сервис настроен для запуска при каждой загрузке, а sudo ufw status показывает, активны ли правила или нет. Таким образом, вам необходимо отдельно включить правила, и это делает sudo ufw enable.


Чтобы включить правила UFW:

$ sudo ufw enable
Firewall is active and enabled on system startup

Чтобы отключить правила UFW:

$ sudo ufw disable
Firewall stopped and disabled on system startup

Чтобы остановить службу UFW:

$ sudo systemctl stop ufw
$ sudo systemctl status ufw
○ ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Mon 2025-02-10 23:19:21 PST; 3s ago
       Docs: man:ufw(8)
    Process: 892 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
    Process: 15101 ExecStop=/lib/ufw/ufw-init stop (code=exited, status=0/SUCCESS)
   Main PID: 892 (code=exited, status=0/SUCCESS)
        CPU: 263ms

Feb 10 21:13:39 ubuntu-laptop systemd[1]: Starting Uncomplicated firewall...
Feb 10 21:13:39 ubuntu-laptop systemd[1]: Finished Uncomplicated firewall.
Feb 10 23:19:20 ubuntu-laptop systemd[1]: Stopping Uncomplicated firewall...
Feb 10 23:19:21 ubuntu-laptop systemd[1]: ufw.service: Deactivated successfully.
Feb 10 23:19:21 ubuntu-laptop systemd[1]: Stopped Uncomplicated firewall.

Чтобы запустить службу UFW:

$ sudo systemctl start ufw
$ sudo systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2025-02-10 23:19:30 PST; 1s ago
       Docs: man:ufw(8)
    Process: 15290 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
   Main PID: 15290 (code=exited, status=0/SUCCESS)
        CPU: 126ms

Feb 10 23:19:29 ubuntu-laptop systemd[1]: Starting Uncomplicated firewall...
Feb 10 23:19:30 ubuntu-laptop systemd[1]: Finished Uncomplicated firewall.

Чтобы отключить службу UFW, что предотвратит её запуск при каждой загрузке:

$ sudo systemctl disable ufw
$ systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; disabled; vendor preset: enabled)
     Active: active (exited) since Mon 2025-02-10 23:19:30 PST; 2min 42s ago
       Docs: man:ufw(8)
   Main PID: 15290 (code=exited, status=0/SUCCESS)
        CPU: 126ms

Feb 10 23:19:29 ubuntu-laptop systemd[1]: Starting Uncomplicated firewall...
Feb 10 23:19:30 ubuntu-laptop systemd[1]: Finished Uncomplicated firewall.

Чтобы включить службу UFW:

$ sudu systemctl enable ufw
$ systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2025-02-10 23:19:30 PST; 3min 10s ago
       Docs: man:ufw(8)
   Main PID: 15290 (code=exited, status=0/SUCCESS)
        CPU: 126ms

Feb 10 23:19:29 ubuntu-laptop systemd[1]: Starting Uncomplicated firewall...
Feb 10 23:19:30 ubuntu-laptop systemd[1]: Finished Uncomplicated firewall.

Ответ или решение

В качестве IT-эксперта, давайте разберем проблему, с которой вы столкнулись: UFW блокирует интернет-соединение на вашем устройстве. Чтобы максимально подробно описать, как разрешить данную проблему, рассмотрим теорию, проанализируем пример и предложим практическое применение.

Теория (Theory)

Uncomplicated Firewall (UFW) — это интерфейс к iptables, используемый в операционных системах на базе Linux для управления настройками брандмауэра. UFW упрощает работу с брандмауэром, предоставляя удобный способ управлять входящими и исходящими соединениями. Однако работая с UFW, необходимо правильно конфигурировать правила, чтобы обеспечить доступ к необходимым сервисам и избежать блокировки интернета.

Типичная проблема при использовании UFW заключается в том, что ошибочная конфигурация правил может привести к неожиданной блокировке интернет-соединения. Это может произойти из-за неверного определения необходимых портов или отсутствия правил, разрешающих конкретные выходящие соединения.

Пример (Example)

В предоставленном описании проблемы указано, что при включении UFW доступ в Интернет отсутствует. Вы используете следующие правила UFW:

ufw allow 22
ufw allow 21
ufw allow 80
ufw allow 8080
ufw allow 443

Эти правила разрешают входящее соединение на стандартные порты, используемые для SSH (22), FTP (21), HTTP (80 и 8080), и HTTPS (443). Если, к примеру, вы используете дополнительные порты или начали работать с протоколами, для которых нужны иные порты, то их отсутствие в списке правил может стать причиной проблемы.

Кроме того, статус UFW отображается как active (exited), что может сбивать с толку. Это указывает на то, что служба UFW активно работает, но не проявляет активной блокировки правил. Нужно уточнить, что состояние exited для службы systemd указывает, что процесс исполнения завершился успешно, а не что служба активна в традиционном смысле.

Применение (Application)

Вот шаг за шагом, как можно разрешить проблему отсутствия интернет-соединения при включенном UFW:

  1. Проверка состояния UFW и правил:

    • Выполните команду sudo ufw status verbose, чтобы проверить полный список активных правил. Это даст представление о том, какие именно соединения разрешены на данный момент.
    • Убедитесь, что UFW действительно включен с помощью sudo ufw enable.
  2. Разрешите выходящие соединения:

    • По умолчанию UFW блокирует все входящие соединения и разрешает все исходящие. Убедитесь, что правила для разрешения выходящих соединений не изменены:
      sudo ufw default allow outgoing
  3. Проверьте новые соединения и порты:

    • Если вы подключаете новые устройства или службы, которые используют нестандартные порты, их также нужно добавить в UFW:
      sudo ufw allow <номер_порта>
  4. Проверка лога UFW:

    • Используйте команды для анализа логов, чтобы выявить, какие именно подключения блокируются UFW. Это поможет понять, что именно не хватает в текущих правилах.
  5. Проверка iptables:

    • Хотя UFW управляет iptables, потенциальные конфликты или ошибки могут возникнуть. Используйте sudo iptables -L -v -n для проверки таблиц iptables и устранения любых несовпадений.
  6. Проверка служб и сетевых интерфейсов:

    • Убедитесь, что сетевые интерфейсы на вашей системе правильно настроены и отвечают за нужные соединения.
  7. Перезапуск службы network и проверка DNS:

    • Иногда проблемы с подключением могут быть вызваны настройками DNS. Попробуйте перезапустить network manager или использовать другой DNS на временной основе, например Google DNS (8.8.8.8).

После выполнения перечисленных шагов проверка соединения вновь должна показать положительный результат. Очень рекомендую ведение журнала изменений и регулярное тестирование конфигураций UFW для предотвращения подобных проблем в будущем. Настройка брандмауэра – это критически важное действие, поэтому всегда внимательно проверяйте свои изменения перед их окончательной активацией.

Оцените материал
Добавить комментарий

Капча загружается...