Прохождение пакета через таблицы и цепочки netfilter

Основные понятия

Ключевыми понятиями iptables являются:
 

  • Критерий — логическое выражение, анализирующее свойства пакета и/или соединения и определяющее, подпадает ли данный конкретный пакет под действие текущего правила.
  • Действие — описание действия, которое нужно проделать с пакетом и/или соединением в том случае, если они подпадают под действие этого правила. О действиях более подробно будет рассказано ниже.
  • Счетчик — компонент правила, обеспечивающий учет количества пакетов, которые попали под критерий данного правила. Также счетчик учитывает суммарный объем таких пакетов в байтах.
  • Правило — состоит из критерия, действия и счетчика. Если пакет соответствует критерию, к нему применяется действие, и он учитывается счетчиком. Критерия может и не быть — тогда неявно предполагается критерий «все пакеты». Указывать действие тоже не обязательно — в отсутствие действия правило будет работать только как счетчик.
  • Цепочка — упорядоченная последовательность правил. Цепочки можно разделить на пользовательские и базовые.
  • ...

  

Miredo: установка IPv6 в GNU/Linux за 1 минуту

В современных дистрибутивах GNU/Linux существует возможность получить автоматически настроенный IPv6-туннель, введя всего одну команду – даже если ваш провайдер не поддерживает IPv6 или предоставляет выход в Интернет только через свой NAT. Достаточно лишь установить программу под названием Miredo.

Настройка IPv6-файрвола (ip6tables)

Поскольку при использовании IPv6 каждый из компьютеров вашей локальной сети будет иметь настоящий, Интернетовский IP-адрес, важно настроить на вашем маршрутизаторе сетевой экран, который будет блокировать входящие соединения из Интернета, но при этом разрешать исходящие из локальной сети. В GNU/Linux это может выглядеть примерно так:

6to4: IPv6 для имеющих статический «белый» IPv4-адрес

Если ваш провайдер не предоставляет IPv6, но при этом ваш IPv4-адрес статичен, т.е. не меняется никогда, или меняется крайне редко, самым простым и быстрым способом получить в дополнение к IPv4 подсеть IPv6-адресов для вас вероятнее всего будет механизм под названием 6to4.

Этот способ идеален для разного рода серверов (включая как dedicated-сервера, так и варианты VDS/VPS, разрешающие добавлять сетевые туннели), на которых размещены WWW/FTP/IRC/почтовые/радио/видео- и прочие сервисы. 6to4 позволит с минимальными затратами труда и времени сделать всё это доступным и по IPv6 – достаточно лишь настроить его и добавить в DNS AAAA-записи, указывающие на только что полученный 6to4-адрес.

Раздача 6to4 IPv6 в локальную сеть

После настройки 6to4, на ваш роутер «приходит» из Интернета подсеть с маской /48, имеющая адрес, составленный из 2002 и вашего IPv4, закодированного в hex-формате. К примеру, для адреса 123.123.123.123, адрес этой подсети будет выглядеть как 2002:7b7b:7b7b::/48.

Ради простоты примеров, предположим, что вашей подсетью оказалась 2002:aabb:ccdd::/48, раздать машинам в локальной сети вы решили адреса из входящей в неё подсети меньшего размера, 2002:aabb:ccdd:e::/64, а интерфейсом, к которому подключена локальная сеть, является eth0. Рассмотрим процесс настройки роутера на примере Debian GNU/Linux.