Анатомия Shorewall 4.0
Tom
Eastep
2007
Thomas M. Eastep
2007
Russian Translation: Grigory Mokhin
Этот документ разрешается копировать, распространять и/или изменять при выполнении условий лицензии GNU Free Documentation License версии 1.2 или более поздней, опубликованной Free Software Foundation; без неизменяемых разделов, без текста на верхней обложке, без текста на нижней обложке. Копия лицензии приведена по ссылке GNU Free Documentation License
.
Продукты
В состав Shorewall 4.0 входят следующие четыре пакета.
Shorewall-common. Этот пакет необходимо установить хотя бы в одной системе в вашей сети. В этой системе также должны быть установлены Shorewall-shell и/или Shorewall-perl.
Shorewall-shell. Этот пакет содержит прежний компилятор конфигурации Shorewall, написанный на Bourne Shell. Этот компилятор работает в большинстве систем, но он медленный, и его сопровождение стало затруднительным.
Shorewall-perl. Этот компилятор заменяет Shorewall-shell и написан на языке Perl. Он работает на всех платформах Unix, поддерживающих Perl (включая Cygwin), и рекомендуется для всех систем, где Shorewall устанавливается заново.
Shorewall-lite. В Shorewall предусмотрена возможность централизованного управления несколькими системами файрволов. Для этого применяется пакет Shorewall lite. Полностью продукт Shorewall, включая Shorewall-shell и/или Shorewall-perl, устанавливается в центральной административной системе, где генерируются сценарии Shorewall. Эти сценарии копируются в системы файрволов, где они выполняются под управлением Shorewall-lite.
Shorewall-common
Пакет Shorewall-common включает много файлов, которые устанавливаются в каталоги /sbin, /usr/share/shorewall, /etc/shorewall, /etc/init.d и /var/lilb/shorewall/. Они описаны далее.
/sbin
Программа /sbin/shorewall взаимодействует с Shorewall. См. shorewall(8).
/usr/share/shorewall
Здесь устанавливаются основные файлы Shorewall.
action.template - файл шаблонов для создания действий.
action.* - стандартные действия Shorewall.
actions.std - в этом файле перечислены стандартные действия.
configfiles - в этом каталоге содержатся файлы конфигурации, при копировании которых создается каталог экспорта Shorewall-lite.
configpath - здесь содержится информация о путях, которая зависит от дистрибутива.
firewall - эта программа обрабатывает команды add и delete (см. shorewall(8)). Кроме того, она обрабатывает команды stop и clear, если в системе нет текущего скомпилированного сценария файрвола.
functions - ссылка на lib.base, предусмотренная для совместимости с прежними версиями Shorewall.
init - ссылка на сценарий инициализации (обычно это - /etc/init.d/shorewall).
lib.* - библиотеки функций оболочки, используемые другими программами.
macro.* - стандартные макросы Shorewall.
modules - файл, управляющий загрузкой модулей Netfilter ядра. Его можно переопределить в файле /etc/shorewall/modules.
version - файл, в котором указана текущая установленная версия Shorewall.
wait4ifup - программа, которую могут использовать сценарии расширения для ожидания готовности сетевого интерфейса.
/etc/shorewall
В этом каталоге содержатся файлы конфигурации, настраиваемые пользователем.
/etc/init.d или /etc/rc.d (зависит от дистрибутива)
Здесь устанавливается сценарий инициализации. В зависимости от дистрибутива, он называется shorewall или rc.firewall.
/var/lib/shorewall
Shorewall не устанавливает никаких файлов в этот каталог. Он используется для хранения данных во время выполнения. Этот каталог можно перенести командой shorewall-vardir(5).
chains - если в shorewall.conf(5) задан DYNAMIC_ZONES=Yes, то в этом файле содержится информация для команд add и delete (см. shorewall(8)).
.iptables-restore-input - этот файл передается программе iptables-restore для инициализации файрвола в ходе выполнения последней команды start или restart (см. shorewall(8)).
.modules - содержимое файла модулей, использованного последними командами start или restart (см. shorewall(8)).
.modulesdir - параметр MODULESDIR (shorewall.conf(5)) в ходе выполнения последней команды start или restart.
nat - в этом файле (с неудачным именем) записаны IP-адреса, добавленные при включенных опциях ADD_SNAT_ALIASES=Yes и ADD_IP_ALIASES=Yes в shorewall.conf(5).
proxyarp - записи arp, добавленные элементами shorewall-proxyarp(5).
.refresh - программа, которая выполнила последнюю успешную команду refresh.
.restart - программа, которая выполнила последнюю успешную команду restart.
restore - программа по умолчанию, выполняющая команды restore.
.restore - программа, которая выполнила последнюю успешную команду refresh, restart или start.
save - файл, созданный командой save и используемый для восстановления динамического чёрного списка в ходе выполнения команд start/restart.
.start - программа, которая выполнила последнюю успешную команду start.
state - здесь записано текущее состояние файрвола.
zones - здесь записано текущее состояние зон.
Shorewall-shell
Все файлы продукта Shorewall-shell устанавливаются в каталоге /usr/share/shorewall-shell.
compiler - компилятор конфигурации (программа shell).
lib.* - библиотеки функций оболочки, используемые компилятором. Для уменьшения объема в встроенных системах могут быть установлены не все библиотеки.
prog.* - фрагменты кода на shell, используемые компилятором.
version - файл, в котором указана текущая установленная версия Shorewall-shell.
Shorewall-perl
Все файлы продукта Shorewall-perl устанавливаются в каталоге /usr/share/shorewall-perl.
buildports.pl - программа на Perl, которая компонует модуль Shorewall/Ports.pm во время установки.
compiler - компилятор конфигурации (программа shell).
prog.* - фрагменты кода на shell, используемые компилятором.
Shorewall - каталог, содержащий модули Shorewall Perl, используемые компилятором.
version - файл, в котором указана текущая установленная версия Shorewall-shell.
Shorewall-lite
Файлы Shorewall-lite устанавливаются в каталогах /sbin, /usr/share/shorewall-lite, /etc/shorewall-lite, /etc/init.d и /var/lilb/shorewall/. Они описаны далее.
/sbin
Программа /sbin/shorewall-lite взаимодействует с Shorewall lite. См. shorewall-lite(8).
/etc/init.d или /etc/rc.d (зависит от дистрибутива)
Здесь устанавливается сценарий инициализации. В зависимости от дистрибутива, он называется shorewall-lite или rc.firewall.
/etc/shorewall-lite
В этом каталоге содержатся файлы конфигурации, настраиваемые пользователем.
/usr/share/shorewall-lite
Здесь устанавливаются основные файлы Shorewall-lite.
configpath - здесь содержится информация о путях, которая зависит от дистрибутива.
functions - ссылка на lib.base, предусмотренная для совместимости с прежними версиями Shorewall.
lib.* - библиотеки функций оболочки, используемые другими программами. Это копии соответствующих библиотек продукта Shorewall.
modules - файл, управляющий загрузкой модулей Netfilter ядра. Его можно переопределить в файле /etc/shorewall-lite/modules.
shorecap - программа, которая создает файл capabilities. См. документацию Shorewall-lite.
version - файл, в котором указана текущая установленная версия Shorewall.
wait4ifup - программа, которую могут использовать сценарии расширения для ожидания готовности сетевого интерфейса.
/var/lib/shorewall-lite
Shorewall-lite не устанавливает никаких файлов в этот каталог. Он используется для хранения данных во время выполнения. Этот каталог можно перенести командой shorewall-lite-vardir(5).
firewall - скомпилированный сценарий, который устанавливается командой load или reload, выполняемой в административной системе (см. shorewall(8)).
firewall.conf - дайджест файла shorewall.conf, использованного для компиляции сценария файрвола в административной системе.
.iptables-restore-input - этот файл передается программе iptables-restore для инициализации файрвола в ходе выполнения последней команды start или restart (см. shorewall-lite(8)).
.modules - содержимое файла модулей, использованного последними командами start или restart (см. shorewall-lite(8)).
.modulesdir - параметр MODULESDIR (shorewall.conf(5)) в ходе выполнения последней команды start или restart.
nat - в этом файле (с неудачным именем) записаны IP-адреса, добавленные при включенных опциях ADD_SNAT_ALIASES=Yes и ADD_IP_ALIASES=Yes в shorewall.conf(5).
proxyarp - записи arp, добавленные элементами shorewall-proxyarp(5).
.refresh - программа, которая выполнила последнюю успешную команду refresh.
.restart - программа, которая выполнила последнюю успешную команду restart.
restore - программа по умолчанию, выполняющая команды restore.
.restore - программа, которая выполнила последнюю успешную команду refresh, restart или start.
save - файл, созданный командой save и используемый для восстановления динамического чёрного списка в ходе выполнения команд start/restart.
.start - программа, которая выполнила последнюю успешную команду start.
state - здесь записано текущее состояние файрвола.
zones - здесь записано текущее состояние зон.