Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
20.04.2024
Размер:
13.99 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Другие параметры

ЗАПУСК ДИАГНОСТИЧЕСКИХ УТИЛИТ

С Windows вроде закончили, переходим к различным мелким полезным штуковинам. Тут все просто: если программа идет небольшим ISOили IMA-обра- зом, то проще всего ее запустить memdisk’ом, примеры есть в первой статье.

ЗАПУСК KASPERSKY RESCUE DISK

С Касперским дела обстоят немного интереснее. Собрать ядро и образ ФС (rescue и rescue.igz) для использования в PXE очень просто. Однако, как оказалось, собрать — это полбеды. А вот как организовать обновление без пересборки образа постоянно? Кто-то настраивает пересборку образов скриптами. Я решил попробовать пойти по пути наименьшего сопротивления — реализовать через NFS. Складывать в каталог, который подключен по NFS, пересобрать файлы загрузки так, чтобы каталог системы с базами монтировался как NFS-каталог с базами. Либо монтировать каталог с базами куда-нибудь в систему и через символьную ссылку подключать к каталогу системы, в котором базы должны находиться. О результатах напишу в комментариях к статье. Пока запуск выполняю вот так:

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

УСТАНОВКА DEBIAN

Запускает установку Debian с заданными параметрами файл preseed.cfg, подтянуть который можно по HTTP. Для этого поднимаем легенький веб-сер- вер (по счастливому случаю у меня уже установлен Apache 2, поэтому я буду публиковать файл там). Публикуем каталог debian на веб-сервере, создаем там файл preseed.cfg, убеждаемся, что он доступен (проверить можно браузером). В параметры загрузки PXE добавляем:

Файл preseed.cfg, если проводить аналогию с вариантами автоматизации установки Windows, является файлом ответов (== файлом конфигурации) установки системы.Задаватьможнолюбыепараметры,которыехотимавтоматизировать,

внашем случае следующие: язык в установленной системе, страна нахождения сервера, часовой пояс, синхронизация времени с заданного NTP-сервера, параметры раскладки клавиатуры, зеркало архива, каталог архива, использование прокси. Включаем SSH-сервер внутри установщика для продолжения установки по SSH с паролем qwerty (логин для подключения будет installer),

впроцессе установки системы установить сразу пакеты openssh-server, sudo, screen и byobu. И последним параметром указываем выполнить полное обновление:

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Также можно задать настройки HDD: куда ставить систему, как разбивать, сколько выделять под swap:

Можно задать параметры установки пароля root:

Отключить последнее сообщение о завершении установки системы:

Выключение хоста после завершения установки:

Таким образом можно задать любой другой параметр. Использовать для еще большего удобства можно в комбинации с Puppet. Доставляя клиент Puppet при установке и передавая управление системе контроля конфигурациями Puppet, получаем готовый, заточенный под конкретную задачу сервер. :)

ЗАКЛЮЧЕНИЕ

Как показала практика, все оказалось гораздо проще, чем выглядело на первый взгляд. Если использовать PXE в паре, например, с Docker, Puppet, WPI, с системного администратора снимается около 40% задач. Освободившееся время лучше потратить с пользой ;). Всем удачи!

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

P.S. В ходе эксплуатации возникла проблема с запуском установки Windows, а именно при некоторых конфигурациях драйверы на сетевую карту не находились, в результате чего не подключалась директория с дистрибутивом Windows. Решение подсказал Sosed213: необходимо добавить драйверы на сетевые карты, для этого опять монтируем winpe.wim. Добавляем драйверы сразу паком, предварительно распаковав их:

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

UNIXOID

 

 

 

df-xchan

 

 

 

w Click

to

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

БРОНЕЖИЛЕТ

ДЛЯТУКСАОБЗОР

И НАСТРОЙКА SHOREWALL

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Роман Ярыженко rommanio@yandex.ru

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

ВВЕДЕНИЕ

Разработка Shorewall началась, когда автор осознал негибкость предыдущего варианта фронтенда, Seawall, который сам же разработал в 1999-м. Возможности Shorewall весьма широки:

поддержка и автоматическое определение доступных особенностей Netfilter/iptables. Это крайне полезно, поскольку его версии могут разниться от дистрибутива к дистрибутиву;

деление сетей на зоны. При этом как несколько сетевых интерфейсов могут соответствовать одной зоне, так и один интерфейс может соответствовать нескольким зонам. Есть также поддержка вложенных и пересекающихся зон;

поддержка всевозможных видов NAT;

возможность простого использования на одном брандмауэре/роутере нескольких провайдеров;

централизованное управление несколькими брандмауэрами с установленным Shorewall Lite;

возможность написания собственных расширений, если основной функциональности почему-либо окажется недостаточно, и многие другие.

На данный момент в репозиториях Ubuntu 15.04 имеется версия 4.6.4, которую мы и рассмотрим.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

УСТАНОВКА И АРХИТЕКТУРА

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перед установкой стоит удалить ufw — стандартный фронтенд iptables в Ubuntu, а уже потом устанавливать Shorewall. Для этого набираем следующие команды:

Установка Shorewall

Перед настройкой стоит описать его архитектуру. У Shorewall есть шесть пакетов: Shorewall Core, Shorewall/Shorewall6, Shorewall-lite/Shorewall6-lite и Shorewall-init. Первый пакет используется всеми остальными, вторые два предоставляют Shorewall для IPv4/IPv6 соответственно, следующие два предлагают версию, которую нужно устанавливать на брандмауэрах при непосредственном управлении ими, и, наконец, последний предоставляет некоторые возможности для upstart. Мы будем говорить только о собственно Shorewall.

Shorewall, в свою очередь, состоит из нескольких компонентов. Рассмотрим их подробнее.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

/sbin/shorewall — утилита для администрирования, через которую и выполняется всяческое обслуживание, включая загрузку правил при запуске системы. На самом деле это shell-скрипт.

В каталоге /usr/share/shorewall/ лежат основные компоненты Shorewall:

compiler.pl — «сердце» Shorewall, скрипт на Perl, который и компилирует правила Shorewall в правила iptables; когда-то была альтернативная версия Shorewall, целиком написанная на Shell, но от нее отказались из-за проблем с быстродействием;

action.template — шаблон для создания действий. «Действия» — некий набор правил для iptables, который, в свою очередь, тоже можно представить как шаблон. Для знакомых с iptables это можно выразить проще — цепочка (chain) в таблице filter;

action. — файлы, содержащие стандартные действия;

actions.std — файл, содержащий список стандартных действий;

configfiles/ — каталог, содержащий файл для создания каталога экспорта в Shorewall-lite;

configpath — файл, содержащий дистрибутивоспецифичные пути;

firewall shell-скрипт, обрабатывающий команды add и delete, предназначенные для добавления хостов и подсетей в динамические зоны, которые, как правило, применяются при создании VPN, и удаления их. Также этот скрипт обрабатывает команды stop и clear, когда в системе нет текущего скомпилированного набора правил;

functions — символическая ссылка на lib.base, предназначенная для сохранения совместимости со старыми версиями Shorewall;

init — символическая ссылка на init-скрипт;

lib. — библиотеки функций, используемые в shell-скриптах;

macro. — стандартные макросы для Shorewall. Макросы позволяют задавать имена для наборов из одного или нескольких правил iptables;

modules и modules. — файлы, управляющие загрузкой модулей. Причем если первый оперирует сразу группами модулей и его можно переопределить, скопировав в каталог конфигов, то остальные эти группы определяют, и их трогать не нужно;

prog. — фрагменты shell-скриптов, использующиеся в качестве входных данных для компилятора правил;

Shorewall/ — каталог, содержащий модули Perl, используемые этим компилятором;

version — файл, содержащий сведения о текущей версии Shorewall;

wait4ifup — Shell-скрипт, который может использоваться скриптами расширения для ожидания доступности какого-либо интерфейса.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

p

 

 

 

 

g

 

 

Файл

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

actions.std

compiler. pl — сам

компилятор,

который и генерирует правила Netfilter

В каталоге /etc/shorewall лежат файлы конфигурации для IPv4-версии фронтенда. /var/lib/shorewall используется для хранения информации о состоянии. Там могут находиться, например, файлы:

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

.iptables-restore-input — файл, передаваемый в iptables-restore и пред-

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

назначенный для ускорения восстановления правил при запуске/перезапуске и для отладки;

.modules — список модулей, использовавшихся при последнем запуске/ перезапуске;

restore — скрипт, используемый при выполнении команды shorewall restore;

.restore — опять же скрипт, использовавшийся во время последнего удачного выполнения команд shorewall start, shorewall restart или shorewall refresh;

save — создается по команде shorewall save и служит для восстановления динамического черного списка после запуска/перезапуска;

state — записывается состояние брандмауэра.

Посмотрим вкратце, как все это работает, на примере. При компиляции (shorewall compile) вызывается скрипт /sbin/shorewall, подключающий библиотеку функций lib.cli и вызывающий функцию shorewall_cli, которая парсит аргументы. Затем в данной функции из lib.cli-std вызывается функция compile_command, также парсящая аргументы (уже свои), и в итоге она выполняет очередную функцию — compiler. В конечном счете вызывается скрипт на Perl, в свою очередь компилирующий shell-скрипт, выполняемый уже другой командой (к примеру, shorewall start).

При запуске указанной выше команды первый этап парсинга выполняется аналогично. Затем вызывается функция get_config из файла lib.cli-std, устанавливающая переменные, получаемые из файла конфигурации. Следом выполняется функция start_command, которая, в свою очередь, вызывает функцию run_it, уже и выполняющую скомпилированный из набора правил скрипт.

Стоит заметить, что Shorewall жестко привязан к суперпользователю (в скриптах зашиты проверки на UID = 0), так что при использовании Capabilities администраторы оказываются в пролете.

Посмотрим, как данный фронтенд настраивать, в том числе синтаксис правил.

КОНФИГУРИРОВАНИЕ SHOREWALL

Поскольку Shorewall позволяет сделать много чего, то и конфигурационных файлов у него достаточно. В простейшем случае, однако, можно обойтись пя- тью-шестью. Взглянем на них.

/etc/shorewall/shorewall.conf — файл, управляющий глобальными настройками Shorewall. Посмотрим некоторые его интересные места:

Соседние файлы в папке журнал хакер