Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4-1 Iнформаційна безпека в системi Unix / Методичка UNIX-подiбнi системы.doc
Скачиваний:
134
Добавлен:
02.02.2021
Размер:
345.6 Кб
Скачать

3.2.1. Общие положения

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

Последовательность прохождения пакета можно условно описать так:

- сетевое устройство;

- драйвер;

- ядро;

- таблицы и правила iptables;

- локальное приложение (или транзитная передача).

На рис. 3.1 поясняется процедура передачи пакетов.

Рис. 3.1 - Схема прохождения пакетов

Как видно, на первом этапе происходит принятие решения о маршрутизации (routing decision) все пакеты, предназначенные данному хосту направляются в цепочку INPUT, остальные - в цепочку FORWARD.

Следует обратить внимание на тот факт, что пакеты, с адресом назначения на МСЭ, могут претерпеть трансляцию сетевого адреса (DNAT) в цепочке PREROUTING таблицы nat и соответственно дальнейшая маршрутизация в первой точке будет выполняться в зависимости от произведенных изменений.

3.2.2 Таблица Mangle

Предназначена, для внесения изменений в заголовки пакетов. В этой таблице можно устанавливать биты TOS (Type Of Service) а так же другие биты.

В таблице допускается выполнять только следующие действия:

- TOS;

- TTL;

- MARK.

TOS выполняет установку битов поля Type of Service в пакете

TTL используется для установки значения поля TTL (Time To Live) пакета.

MARK устанавливает специальную метку на пакет, которая затем может быть проверена другими правилами в iptables или другими программами, например, iproute2.

3.2.3. Таблица Nat

Таблица используется для выполнения преобразований сетевых адресов NAT (Network Address Translation) Как уже упоминалось выше, только первый пакет из потока проходит через цепочки этой таблицы, трансляция адресов или маскировка применяются ко всем последующим пакетам в потоке автоматически. Для этой таблицы характерны действия:

  • DNAT

  • SNAT

  • MASQUERADE

Действие DNAT (Destination Network Address Translation) производит преобразование адресов назначения в заголовках пакетов.

SNAT (Source Network Address Translation) используется для изменения исходных адресов пакетов. С помощью этого действия можно скрыть структуру локальной сети, а заодно и разделить единственный внешний IP адрес между компьютерами локальной сети для выхода в Интернет.

Маскировка (MASQUERADE) применяется в тех же целях, что и SNAT, но в отличие от последней, MASQUERADE дает более сильную нагрузку на систему. Происходит это потому, что каждый раз, когда требуется выполнение этого действия - производится запрос IP адреса для указанного в действии сетевого интерфейса, в то время как для SNAT IP адрес указывается непосредственно. Однако, благодаря такому отличию, MASQUERADE может работать в случаях с динамическим IP адресом, когда подключение к сети осуществляется через PPP или SLIP.

3.2.4. Основы построения правил

Каждое правило -- это строка, содержащая в себе критерии определяющие, подпадает ли пакет под заданное правило, и действие, которое необходимо выполнить в случае выполнения критерия. В общем виде правила записываются так:

iptables [-t table] command [match] [target/jump]

Если в правило не включается спецификатор [-t table], то по умолчанию предполагается использование таблицы filter, если же предполагается использование другой таблицы, то это требуется указать явно. Спецификатор таблицы так же можно указывать в любом месте строки правила, однако более или менее стандартом считается указание таблицы в начале правила.