{{tag>firewall iptables}}

====== /etc/sysconfig/iptables ======

  * http://help.ubuntu.ru/wiki/iptables
===== Создание правил =====

<code sh>
$ sudo iptables-save -c -t filter
</code>

==== Цепочки ====

  * PREROUTING — для изначальной обработки входящих пакетов.
  * INPUT — для входящих пакетов адресованных непосредственно локальному процессу (клиенту или серверу).
  * FORWARD — для входящих пакетов перенаправленных на выход 
    * (заметьте, что перенаправляемые пакеты проходят сначала цепь PREROUTING, затем FORWARD и POSTROUTING).
  * OUTPUT — для пакетов генерируемых локальными процессами.
  * POSTROUTING — для окончательной обработки исходящих пакетов.

==== Таблицы ====

  * raw — просматривается до передачи пакета системе определения состояний. Используется редко, например для маркировки пакетов, которые НЕ должны обрабатываться системой определения состояний. Для этого в правиле указывается действие NOTRACK. Содержит цепочки PREROUTING и OUTPUT.
  * mangle — содержит правила модификации (обычно заголовка) IP‐пакетов. Среди прочего, поддерживает действия TTL (Time to live), TOS (Type of Service), и MARK (для изменения полей TTL и TOS, и для изменения маркеров пакета). Редко необходима и может быть опасна. Содержит все пять стандартных цепочек.
  * nat — просматривает только пакеты, создающие новое соединение (согласно системе определения состояний). Поддерживает действия DNAT, SNAT, MASQUERADE, REDIRECT. Содержит цепочки PREROUTING, OUTPUT, и POSTROUTING.
  * filter — основная таблица, используется по умолчанию если название таблицы не указано. Содержит цепочки INPUT, FORWARD, и OUTPUT.

==== Состояние ====

  * NEW — пакет открывает новый сеанс. Классический пример — пакет TCP с флагом SYN.
  * ESTABLISHED — пакет является частью уже существующего сеанса.
  * RELATED — пакет открывает новый сеанс, связанный с уже открытым сеансом. Например, во время сеанса пассивного FTP, клиент подсоединяется к порту 21 сервера, сервер сообщает клиенту номер второго, случайно выбранного порта, после чего клиент подсоединяется ко второму порту для передачи файлов. В этом случае второй сеанс (передача файлов по второму порту) связан с уже существующим сеансом (изначальное подсоединение к порту 21).
  * INVALID — все прочие пакеты.

{{http://help.ubuntu.ru/_media/wiki/kptd-simplified-ru.png?w=900}}

{{http://help.ubuntu.ru/_media/wiki/netfilter-packet-flow.png?w=900}}