Я использую iptables в течение многих лет, потому что это простое решение без каких-либо магий. Но теперь я создаю роутер для себя и обнаружил, что Shorewall предоставляет множество полезных функций.
Можно ли использовать iptables и Shorewall одновременно? Я знаю, что Shorewall - это просто интерфейс iptables. Но я не знаю, вызовет ли конфликт.
Кроме того, мне нужно заблокировать множество адресов, поэтому ipset - идеальное решение. Насколько безопасно использовать все эти три брандмауэра?
Shorewall и ipsets полностью дополняют друг друга, shorewall, как сказано выше, представляет собой интерфейсный инструмент для правильного управления iptables. Ipsets - это инструмент для более эффективного внесения в белый / черный список больших наборов IP-адресов, так что они могут работать вместе, и в основном все системные администраторы, которых я знаю, рекомендуют его.
Главное, о чем следует позаботиться, это то, что для того, чтобы shorewall работал с ipset, ваш ядро должно поддерживать соответствие ipset (IPSET_MATCH). Чтобы проверить, поддерживает ли его ваш сервер, запустите:
$ shorewall show -f capabilities | grep IPSET_MATCH
Тебе следует увидеть:
IPSET_MATCH=Yes
Чтобы иметь возможность использовать shorewall с ipset. Эта поддержка полностью зависит от вашего ядра и вашей ОС.
По моему опыту, для того, чтобы он заработал, мне нужно обновить пакет iptables и ipset до последней версии:
iptables v1.6.0
ipset v6.27, protocol version: 6
потому что в этой версии пакетом добавлена поддержка соответствия ipset. Вы можете прочитать журнал изменений ipset. Но возможно, что ваше ядро уже поддерживает это. Поскольку этой версии пакета нет в репозитории Jessie (по крайней мере, на данный момент), мне нужно было установить их из тестового репозитория, что не является самым рекомендуемым подходом, но он работал отлично.
Как вы сказали :
Shorewall - это просто интерфейс iptables
Итак, по вашему мнению, что может быть хорошей причиной для использования обоих?
Более того, ipsets
можно использовать с чистым iptables
, но Shorewall
также поддерживает ipsets
: http://www.shorewall.net/ipsets.html
Итак, я бы сказал: используйте iptables
ИЛИ Shorewall
(как front-end).
Использовать оба варианта бессмысленно.