Что такое UFW? Вы могли бы подумать, что это простой вопрос, но чем больше источников я читаю, тем менее ясным становится.
Аббревиатура расшифровывается как Uncomplicated FireWall, как будто ufw фактически реализует сам брандмауэр. И действительно, во многих местах он упоминается как брандмауэр как таковой, например, в этой статье .
В справочной вики-странице Ubuntu на UFW говорится, что UFW - это инструмент настройки iptables. (В свою очередь, на странице справки вики о брандмауэрах говорится, что iptables - это база данных правил брандмауэра, и что он также является фактическим брандмауэром, как если бы база данных была брандмауэром, что, очевидно, ложно. И, конечно же, «iptables» также название программы.)
Если ufw - это инструмент настройки, то мы можем ожидать, что это будет программа, которую вы запускаете для настройки чего-либо, и когда вы закончите, вы выйдете с установленной конфигурацией. Это позиция принятого ответа на этот вопрос: Является ли Uncomplicated FireWall (ufw) сервисом?
Но другие ответы на этот вопрос не согласны - нет, это услуга. И действительно, на моей машине 18.04 я вижу, что ufw работает как сервис! Какого черта инструмент конфигурации работает как сервис ?!
Далее systemctl list-units --all --type=service
шоу ufw.service
есть loaded and active
(а также exited
?!) Пока что ufw status
показывает inactive
.
Так что же означает статус ufw = неактивный?
Что "брандмауэр" (что бы это ни было) неактивно? Это то, что может предложить документ man-страницы ufw для «status».
Или это означает, что правила, настроенные в ufw, неактивны (но другие, настроенные в iptables, активны)?
Или это означает, что ufw запустился при загрузке, установил свои правила в ipconfig (или куда бы они ни пошли), чтобы они теперь действовали, и теперь ufw не имеет ничего общего, поэтому он неактивен?
Особый интерес: я хочу следовать некоторым инструкциям, которые требуют ввода некоторых команд iptables, но я обеспокоен тем, что они будут конфликтовать или перезаписываться устройством ufw.
Ответы:
ufw - это интерфейс для netfilter / iptables, механизма Linux для маршрутизации и фильтрации интернет-трафика.
ufw не является обязательным, и можно создавать таблицы межсетевого экрана и маршрутизации напрямую с помощью команд iptables. Некоторые люди предпочитают синтаксис ufw, который должен сделать его немного проще.
Сам по себе ufw - это не брандмауэр, это инструмент для настройки конфигурации netfilter / iptables. Он зарегистрирован как сервис, потому что его нужно запускать каждый раз при запуске машины. Я не верю, что он остается в памяти после выполнения этой конфигурации. «перезапуск» службы просто перезапускает свои сценарии. Нередко вещи в дистрибутивах Linux регистрируются как сервисы, даже если они являются просто сценариями, которые запускаются при загрузке или завершении работы, не оставаясь между ними.
Если вы используете ufw, вы не можете устанавливать свои собственные правила iptables, используя свои собственные скрипты, так как они будут перезаписаны, когда ufw устанавливает свои собственные. Это также означает, что UFW может конфликтовать с другими инструментами, которые устанавливают правила брандмауэра.
Если
sudo ufw status
возвращается «неактивно», это означает, что UFW был отключен (и, например, не будет повторно применять какие-либо правила при запуске). Вы должны убедиться, что ufw включенsudo ufw enable
, хотя вам также нужно настроить правила, чтобы это имело смысл. Если вы уверены, что вы включили UFW, но он возвращает «неактивно», может быть другая проблема.Обратите внимание, что «запуск» сервиса не включает ufw, он просто активирует скрипт запуска. Если UFW отключен при запуске сценария запуска, он ничего не будет делать.
Вы можете сказать, были ли применены ваши правила брандмауэра в любой момент времени с использованием iptables напрямую:
источник