Oskar Andreasson - Iptables Tutorial 1.1.19
- Название:Iptables Tutorial 1.1.19
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Oskar Andreasson - Iptables Tutorial 1.1.19 краткое содержание
Перевод: (C) Последнюю версию документа можно получить по адресу: fb2-документ отформатирован с использованием большого количества тегов и . Чтобы в «читалке» (в частности, Haali Reader) текст выглядел «красиво», настройте свойства соотвествующих стилей (emphasis и strong), изменив, например, их цвета или начертания. (прим. автора fb2-документа)
Iptables Tutorial 1.1.19 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Нигде не утверждается, что описание действия (target/jump) должно стоять последним в строке, однако, такая нотация более удобочитаема. Как бы то ни было, но чаще всего вам будет встречаться именно такой способ записи правил.
Если в правило не включается спецификатор [-t table], то по умолчанию предполагается использование таблицы filter , если же предполагается использование другой таблицы, то это требуется указать явно. Спецификатор таблицы так же можно указывать в любом месте строки правила, однако более или менее стандартом считается указание таблицы в начале правила.
Далее, непосредственно за именем таблицы, должна стоять команда. Если спецификатора таблицы нет, то команда всегда должна стоять первой. Команда определяет действие iptables, например: вставить правило, или добавить правило в конец цепочки, или удалить правило и т.п.
Раздел match задает критерии проверки, по которым определяется подпадает ли пакет под действие этого правила или нет. Здесь мы можем указать самые разные критерии – IP-адрес источника пакета или сети, IP-адрес места назначения,порт, протокол, сетевой интерфейс и т.д. Существует множество разнообразных критериев, но об этом – несколько позже.
И наконец target указывает, какое действие должно быть выполнено при условии выполнения критериев в правиле. Здесь можно заставить ядро передать пакет в другую цепочку правил, «сбросить» пакет и забыть про него, выдать на источник сообщение об ошибке и т.п.
6.2. Таблицы
Опция -tуказывает на используемую таблицу. По умолчанию используется таблица filter . С ключом -tприменяются следующие опции.
Таблица 6-1. Таблицы
(Таблица – Описание)
Таблица: nat
Описание: Таблица nat используется главным образом для преобразования сетевых адресов ( Network Address Translation ). Через эту таблицу проходит только первый пакет из потока. Преобразования адресов автоматически применяется ко всем последующим пакетам. Это один из факторов, исходя из которых мы не должны осуществлять какую-либо фильтрацию в этой таблице. Цепочка PREROUTING используется для внесения изменений в пакеты на входе в брандмауэр. Цепочка OUTPUT используется для преобразования адресов в пакетах, созданных приложениями внутри брандмауэра, перед принятием решения о маршрутизации. И последняя цепочка в этой таблице – POSTROUTING , которая используется для преобразования пакетов перед выдачей их в сеть.
Таблица: mangle
Описание: Эта таблица используется для внесения изменений в заголовки пакетов. Примером может служить изменение поля TTL, TOSили MARK. Важно: в действительности поле MARKне изменяется, но в памяти ядра заводится структура, которая сопровождает данный пакет все время его прохождения через брандмауэр, так что другие правила и приложения на данном брандмауэре (и только на данной брандмауэре) могут использовать это поле в своих целях. Таблица имеет пять цепочек PREROUTING , POSTROUTING , INPUT , OUTPUT и FORWARD . PREROUTING используется для внесения изменений на входе в брандмауэр, перед принятием решения о маршрутизации. POSTROUTING используется для внесения изменений на выходе из брандмауэра, после принятия решения о маршрутизации. INPUT – для внесения изменений в пакеты перед тем как они будут переданы локальному приложению внутри брандмауэра. OUTPUT – для внесения изменений в пакеты, поступающие от приложений внутри брандмауэра. FORWARD – для внесения изменений в транзитные пакеты после первого принятия решения о ипршрутизации, но перед последним принятием решения о ипршрутизации. Замечу, что таблица mangle ни в коем случае не должна использоваться для преобразования сетевых адресов или маскарадинга ( Network Address Translation, Masquerading ), поскольку для этих целей имеется таблица nat.
Таблица: filter
Описание: Таблица filter используется главным образом для фильтрации пакетов. Для примера, здесь мы можем выполнить DROP, LOG, ACCEPTили REJECTбез каких либо ограничений, которые имеются в других таблицах. Имеется три встроенных цепочки. Первая – FORWARD , используемая для фильтрации пакетов, идущих транзитом через брандмауэр. Цепочку INPUT проходят пакеты, которые предназначены локальным приложениям (брандмауэру). И цепочка OUTPUT – используется для фильтрации исходящих пакетов, сгенерированных приложениями на самом брандмауэре.
Выше мы рассмотрели основные отличия трех имеющихся таблиц. Каждая из них должна использоваться только в своих целях, и вы должны это понимать. Нецелевое использование таблиц может привести к ослаблению защиты брандмауэра и сети, находящейся за ним. Позднее, в главе Порядок прохождения таблиц и цепочек , мы подробнее остановимся на этом.
6.3. Команды
Ниже приводится список команд и правила их использования. Посредством команд мы сообщаем iptablesчто мы предполагаем сделать. Обычно предполагается одно из двух действий – добавление нового правила в цепочку или удаление существующего правила из той или иной таблицы. Далее приведены команды, которые используются в iptables.
Таблица 6-2. Команды
(Команда – Пример – Описание)
Команда: -A, –append
Пример: iptables -A INPUT ...
Описание: Добавляет новое правило в конец заданной цепочки.
Команда: -D, –delete
Пример: iptables -D INPUT –dport 80 -j DROP, iptables -D INPUT 1
Описание: Удаление правила из цепочки. Команда имеет два формата записи, первый – когда задается критерий сравнения с опцией -D (см. первый пример), второй – порядковый номер правила. Если задается критерий сравнения, то удаляется правило, которое имеет в себе этот критерий, если задается номер правила, то будет удалено правило с заданным номером. Счет правил в цепочках начинается с 1.
Команда: -R, –replace
Пример: iptables -R INPUT 1 -s 192.168.0.1 -j DROP
Описание: Эта команда заменяет одно правило другим. В основном она используется во время отладки новых правил.
Команда: -I, –insert
Пример: iptables -I INPUT 1 –dport 80 -j ACCEPT
Описание: Вставляет новое правило в цепочку. Число, следующее за именем цепочки указывает номер правила, перед которым нужно вставить новое правило, другими словами число задает номер для вставляемого правила. В примере выше, указывается, что данное правило должно быть 1-м в цепочке INPUT .
Команда: -L, –list
Пример: iptables -L INPUT
Читать дальшеИнтервал:
Закладка: