
Я достаточно хорошо знаком с iptables и мне iptables -L -v
достаточно легко читать. Резервное копирование простое и я этим доволен.
Однако в последних версиях Ubuntu есть ufw, который довольно сильно загрязняет iptables. Вместо чистого списка правил у меня есть много неудобных для чтения правил:
$ iptables -L -v
Chain INPUT (policy DROP 6114 packets, 331K bytes)
pkts bytes target prot opt in out source destination
131K 76M ufw-before-logging-input all -- any any anywhere anywhere
131K 76M ufw-before-input all -- any any anywhere anywhere
6618 368K ufw-after-input all -- any any anywhere anywhere
6191 346K ufw-after-logging-input all -- any any anywhere anywhere
6191 346K ufw-reject-input all -- any any anywhere anywhere
6191 346K ufw-track-input all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
390K 324M ufw-before-logging-forward all -- any any anywhere anywhere
390K 324M ufw-before-forward all -- any any anywhere anywhere
4 2160 ufw-after-forward all -- any any anywhere anywhere
4 2160 ufw-after-logging-forward all -- any any anywhere anywhere
4 2160 ufw-reject-forward all -- any any anywhere anywhere
4 2160 ufw-track-forward all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
pkts bytes target prot opt in out source destination
326K 317M ufw-before-logging-output all -- any any anywhere anywhere
326K 317M ufw-before-output all -- any any anywhere anywhere
164 14960 ufw-after-output all -- any any anywhere anywhere
164 14960 ufw-after-logging-output all -- any any anywhere anywhere
164 14960 ufw-reject-output all -- any any anywhere anywhere
164 14960 ufw-track-output all -- any any anywhere anywhere
...
С этой точки зрения. Я не совсем понимаю назначение ufw. Кажется, он добавляет сложности по сравнению с iptables без реальных преимуществ.
Я ошибаюсь?
решение1
Если вы знаете iptables
, если вам это iptables -L -v
легко читать и если вам это нравится, то вам не нужно ufw
.
iptables
работает с таблицами правил фильтрации пакетов в ядре Linux. Таблицы, цепочки и правила, которые вы можете создать, представляют собой мощный и гибкий инструмент, но часто пугающий и не совсем интуитивный. С ними возможны продвинутые вещи, но базовые вещи не всегда так просты, как хотелось бы начинающим пользователям (или пользователям в целом).
Здесь входит ufw
(или другой подобный инструмент) как дополнительный слой поверх iptables
. Он упрощает базовые вещи, но не обязательно позволяет продвинутые вещи. Любой, кто предпочитает графический интерфейс, может использовать gufw
. Ubuntu поставляется, ufw
потому что он нацелен на пользователей, которым может быть неинтересно, как все работает под капотом. Им нужен простой интерфейс, похожий на тот, что они видели в Windows или в HTTP-интерфейсах своих домашних маршрутизаторов. Продвинутые пользователи могут деактивировать ufw
и использовать iptables
«вручную».
Цель ufw
состоит в том, чтобы иметь простой фронтенд. Для среднего Джо этот фронтендпрощечем любой эквивалентный "чистый список правил", который вы можете создать в iptables
. "Множество нелегко читаемых правил" ufw
на самом деле создают теперь бэкэнд. Вы правы, ufw
добавляет сложности, но Джо никогда этого не видит.
Как только вы решите использовать ufw
(или продолжать использовать, если он есть по умолчанию), вам не следует беспокоиться о бэкенде. Относитесь к бэкенду как к внутренней части инструмента, который обеспечивает фронтенд.
Если вы хотите iptables
быть своим фронтендом, то не используйте ufw
, потому что ufw
он выдвигает себя «больше вперед».