"Oskar Andreasson. Iptables Tutorial 1.1.19 " - читать интересную книгу автора

признательность за их помощь в создании данного руководства, которое
изначально было написано для boingworld.com, а теперь доступно на моем
персональном сайте frozentux.net. С помощью этого документа вы пройдете
процесс настройки шаг за шагом и, надеюсь, что к концу изучения его вы
будете знать о пакете iptables значительно больше. Большая часть материала
базируется на файле rc.firewall.txt, так как я считаю, что рассмотрение
примера - лучший способ изучения iptables. Я пройду по основным цепочкам
правил в порядке их следования. Это несколько усложняет изучение, зато
изложение становится логичнее. И, всякий раз, когда у вас возникнут
затруднения, вы можете обращаться к этому руководству.

1.3. Термины, используемые в данном документе

Этот документ содержит несколько терминов, которые следует пояснить
прежде, чем вы столкнетесь с ними.
DNAT - от англ. Destination Network Address Translation - Изменение
Сетевого Адреса Получателя. DNAT - это изменение адреса назначения в
заголовке пакета. Зачастую используется в паре с SNAT. Основное применение -
использование единственного реального IP-адреса несколькими компьютерами для
выхода в Интернет и предоставления дополнительных сетевых услуг внешним
клиентам.
"Поток" (Stream) - под этим термином подразумевается соединение, через
которое передаются и принимаются пакеты. Я использовал этот термин для
обозначения соединений, через которые передается по меньшей мере 2 пакета в
обеих направлениях. В случае TCP это может означать соединение, через
которое передается SYN пакет и затем принимается SYN/ACK пакет. Но это так
же может подразумевать и передачу SYN пакета и прием сообщения ICMP Host
unreachable. Другими словами, я использую этот термин в достаточно широком
диапазоне применений.
SNAT - от англ. Source Network Address Translation - Изменение Сетевого
Адреса Отправителя. SNAT - это изменение исходного адреса в заголовке
пакета. Основное применение - использование единственного реального
IP-адреса несколькими компьютерами для выхода в Интернет. В натоящее время
диапазон реальных IP-адресов, по стандарту IPv4, недостаточно широк, и его
не хватает на всех (переход на IPv6 разрешит эту проблему).
"Состояние" (State) - под этим термином подразумевается состояние, в
котором находится пакет, согласно RFC 793 - RFC 793 - Transmission Control
Protocol, а также трактовкам, используемым в netfilter/iptables. Хочу
обратить ваше внимание на тот факт, что определения состояний пакетов, как
для внутренних так и для внешних состояний, используемые Netfilter, не
полностью соответствуют указанному выше RFC 793.
"Пространство пользователя" (User space) - под этим термином я
подразумеваю все, что расположено за пределами ядра, например: коменда
iptables -h выполняется за пределами ядра, в то время как команда
iptables -A FORWARD -p tcp -j ACCEPT выполняется (частично) в пространстве
ядра, поскольку она добавляет новое правило к имеющемуся набору.
"Пространство ядра" (Kernel space) - в большей или меньшей степени
является утверждением, обратным термину "Пространство пользователя".
Подразумевает место исполнения - в пределах ядра.
"Userland" - см. "Пространство пользователя".