Гид по технологиям

Установка Shorewall 4.0 на CentOS 5.1

• 6 min read • Сеть • Обновлено 25 Nov 2025
Установка Shorewall 4.0 на CentOS 5.1
Установка Shorewall 4.0 на CentOS 5.1

Введение

Этот учебник проведёт вас через процесс установки Shorewall (Shoreline) 4.0 на CentOS 5.1. Инструкции легко адаптировать для других дистрибутивов Linux. Shorewall — это инструмент высокого уровня для настройки Netfilter (iptables). Вы описываете требования к межсетевому экрану в наборах конфигурационных файлов, а Shorewall переводит их в правила Netfilter через iptables.

Определение: Netfilter — подсистема ядра Linux для фильтрации пакетов; iptables — утилита для управления правилами Netfilter.

Важно: перед установкой Shorewall удалите ipchains, если он установлен на машине, иначе могут возникнуть конфликты с iptables.

Сайт проекта: http://www.shorewall.net/

Требования и рекомендации перед началом

  • Доступ root или эквивалент (sudo) на сервере с CentOS 5.1.
  • Рабочая сеть и знание имён используемых интерфейсов (eth0, eth1 и т. п.).
  • Резервная копия текущих конфигураций iptables и /etc/shorewall (если уже есть).
  • По возможности повторите установку в тестовой среде, прежде чем применять на продуктиве.

Совет: если вы управляете сервером в компании, согласуйте изменения с сетевой командой и определите окна для тестирования.

Скачивание Shorewall

Скачайте RPM-пакеты (как в оригинальном примере):

wget http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.11/shorewall-4.0.11-2.noarch.rpm  
wget http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.11/shorewall-perl-4.0.11-2.noarch.rpm  
wget http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.11/shorewall-shell-4.0.11-2.noarch.rpm

Проверяйте раздел загрузок на официальном сайте для новых версий: http://www.shorewall.net/download.htm

Установка Shorewall

Установка выполняется командой rpm:

rpm -ivh shorewall-perl-4.0.11-2.noarch.rpm shorewall-shell-4.0.11-2.noarch.rpm shorewall-4.0.11-2.noarch.rpm

Оставьте терминал открытым — он понадобится для последующих шагов.

Настройка Shorewall

По умолчанию Shorewall не запускается, пока в конфиге /etc/shorewall/shorewall.conf не будет включён запуск.

Откройте файл:

vim /etc/shorewall/shorewall.conf

Измените первую строку:

STARTUP_ENABLED=No

на

STARTUP_ENABLED=Yes

Сохраните и выйдите.

Далее нужно скопировать пример(ы) конфигурации из каталога Samples. В пакете 4.0.11 есть образцы для разных сценариев (one-interfaces, two-interfaces, three-interfaces). Выберите тот, который соответствует вашей сети, и выполните соответствующую команду, например:

cp /usr/share/doc/shorewall-4.0.11/Samples/one-interfaces/{interfaces,policy,masq,routestopped,rules,zones} /etc/shorewall/

Или для двух/трёх интерфейсов:

cp /usr/share/doc/shorewall-4.0.11/Samples/two-interfaces/{interfaces,policy,masq,routestopped,rules,zones} /etc/shorewall/
cp /usr/share/doc/shorewall-4.0.11/Samples/three-interfaces/{interfaces,policy,masq,routestopped,rules,zones} /etc/shorewall/

Теперь в /etc/shorewall/ будут находиться конфигурационные файлы, которые нужно отредактировать под вашу сеть.

Конфигурация zones

Файл /etc/shorewall/zones содержит список зон (ярлыков) для других конфигов.

vim /etc/shorewall/zones

Пример (интернет — net, локальная сеть — loc, DMZ — dmz, fw — сам хост):

#ZONE   TYPE    OPTIONS     IN OPTIONS      OUT OPTIONS
#
fw  firewall
net ipv4
loc ipv4
dmz ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

Подписи зон используются в файлах interfaces, policy и rules.

Конфигурация interfaces

Файл /etc/shorewall/interfaces связывает зоны с физическими или виртуальными интерфейсами.

vim /etc/shorewall/interfaces

Пример:

#ZONE   INTERFACE   BROADCAST   OPTIONS
net     eth0            detect          tcpflags,dhcp,routefilter,nosmurfs,logmartians
loc     eth1            detect          tcpflags,nosmurfs
dmz     eth2            detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Подсказка: используйте “detect” для автоматического определения широковещательного адреса. Проверьте имена интерфейсов командой ifconfig -a или ip addr.

Конфигурация policy

Файл /etc/shorewall/policy задаёт политику по умолчанию, которая применяется, если ни одно правило в rules не подошло.

vim /etc/shorewall/policy

Пример конфигурации с базовыми политиками (см. ниже в исходном материале). Обычно по умолчанию ставят REJECT или DROP, а потом явно разрешают необходимые сервисы через rules.

Конфигурация rules

Файл /etc/shorewall/rules — наиболее важный: здесь перечислены разрешённые и запрещённые подключения. Новые соединения проходят через набор правил; если ни одно правило не сработало, применяется политика по умолчанию.

vim /etc/shorewall/rules

Пример правил (включает DNS, SSH, ping и т. п.). Внимательно читайте комментарии в примерах — они объясняют синтаксис.

Запуск и тестирование

Запустите Shorewall:

service shorewall start

Проверьте логи для обнаружения ошибок (в CentOS 5.1 лог обычно в /var/log/messages):

tail -f /var/log/messages

Полезные проверки:

  • shorewall check — проверяет конфигурацию перед запуском (если доступна в версии пакета).
  • Убедитесь, что iptables не содержит конфликтующих правил: iptables -L -n -v.
  • Тестируйте доступность сервисов с контролируемых клиентских машин.

Веб-интерфейс Shorewall

Для графической настройки можно использовать модуль Webmin для Shorewall. Скачайте модуль по ссылке (как в оригинале): http://www.webmin.com/download/modules/shorewall.wbm.gz

Когда настройка может не сработать — частые причины и проверки

  • Неправильные имена интерфейсов (eth0 vs. eth1): проверьте ifconfig -a.
  • Остаточные правила iptables от другой конфигурации: очистите и проверьте iptables -F (только после резервной копии и в тестовой среде).
  • SELinux или другие политики безопасности могут мешать скриптам или логированию — проверьте /var/log/audit/audit.log.
  • Неправильные синтаксические записи в файлах shorewall (проверьте shorewall check и логи).

Откат и резервное копирование

Перед изменениями делайте резервную копию текущей конфигурации:

cp -a /etc/shorewall /etc/shorewall.backup-$(date +%F)

Чтобы откатиться, восстановите каталог и перезапустите сервис:

rm -rf /etc/shorewall
cp -a /etc/shorewall.backup-YYYY-MM-DD /etc/shorewall
service shorewall restart

Замените YYYY-MM-DD на фактическую дату резервной копии.

Методология внедрения (мини-процесс)

  1. Подготовка: снимите резервные копии, соберите список портов и сервисов.
  2. Лабораторное тестирование: настройте Shorewall на тестовом хосте, отработайте правила.
  3. Проверка: выполните shorewall check и тесты сетевого доступа.
  4. Развертывание: применяйте изменения в рабочей среде в окне обслуживания.
  5. Мониторинг: следите за логами и метриками доступности после применения.

Контроль и уровни зрелости конфигурации

  • Уровень 1 (Начальный): базовая политика DROP/REJECT, несколько открытых сервисов.
  • Уровень 2 (Средний): логирование атак, ограничение SSH по IP, NAT/маскарадинг.
  • Уровень 3 (Продвинутый): централизованное управление, автоматическое тестирование правил, IDS/IPS интеграция.

Рекомендации по безопасности

  • Делайте принцип минимальных привилегий: откройте только необходимые порты.
  • Включайте логирование подозрительных соединений и анализируйте логи.
  • Ограничьте доступ по SSH по IP-адресам или используйте ключи и нестандартный порт.
  • Применяйте rate limiting для публичных сервисов (в правилах Shorewall есть возможности для ограничения).

Роль‑ориентированные контрольные списки

  • Системный администратор:

    • Сделать резервную копию /etc/shorewall и iptables.
    • Убедиться в совпадении имён интерфейсов.
    • Прогнать shorewall check и перезапустить сервис.
  • Сетевой инженер:

    • Проверить схемы маршрутизации и NAT.
    • Подготовить список публичных/внутренних сервисов.
  • Инженер по безопасности:

    • Определить политику доступа (REJECT/DROP по умолчанию).
    • Настроить логирование и оповещения о подозрительной активности.

Краткое руководство по устранению неполадок

  • Shorewall не запускается: проверьте /etc/shorewall/shorewall.conf и STARTUP_ENABLED.
  • Нет доступа к сервисам: проверьте правила в /etc/shorewall/rules и default policy.
  • Не появляются изменения: убедитесь, что вы сохранили файлы и выполнили service shorewall restart.
  • Подозрительные логи: выполните детальную проверку с помощью tail -n 200 /var/log/messages и фильтров.

Сравнение с альтернативами

  • Shorewall дает декларативную модель через файлы конфигурации (удобно для управления), тогда как ручная работа с iptables требует явного перечисления цепочек и правил.
  • Для современных систем можно рассмотреть nftables или централизованные решения (Ansible + iptables/nftables) — особенно на новых дистрибутивах.

Совместимость и миграция

CentOS 5.1 и Shorewall 4.0 — устаревшая связка. При планировании долгосрочной эксплуатации рассмотрите обновление ОС до поддерживаемой версии и переход на современные инструменты фильтрации пакетов. При миграции тестируйте правила в тестовой среде и документируйте изменения.

Глоссарий в одну строку

  • Netfilter: подсистема ядра для фильтрации пакетов; iptables — утилита для управления Netfilter; DMZ — демилитаризованная зона; FW — сам сервер-файрвол.

Итог

Shorewall упрощает управление сложными наборами правил Netfilter за счёт декларативных конфигурационных файлов. Для безопасного развёртывания:

  • Делайте резервные копии и тестируйте вне продакшена.
  • Начинайте с жёсткой политики и по мере необходимости открывайте сервисы.
  • Логируйте и следите за поведением после внесения изменений.

Важно: учитывайте, что CentOS 5.1 и Shorewall 4.0 — старые версии; по возможности планируйте обновление платформы.

Примечание: модуль Webmin для графической настройки доступен по ссылке http://www.webmin.com/download/modules/shorewall.wbm.gz. Удачи в настройке!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро