Iptables Tutorial 1.1.19 Посвящения Об авторе Как читать этот документ Предварительные условия Типографские соглашения Глава 1. Введение 1.1. Почему было написано данное руководство 1.2. Как он был написан 1.3. Термины, используемые в данном документе Глава 2. Подготовка 2.1. Где взять iptables 2.2. Настройка ядра 2.3. Установка пакета 2.3.1. Сборка пакета 2.3.2. Установка в Red Hat 7.1 Глава 3. Порядок прохождения таблиц и цепочек 3.1. Общие положения 3.2. Таблица Mangle 3.3. Таблица Nat 3.4. Таблица Filter Глава 4. Механизм определения состояний 4.1. Введение 4.2. Таблица трассировщика 4.3. Состояния в пространстве пользователя 4.4. TCP соединения 4.5. UDP соединения 4.6. ICMP соединения 4.7. Поведение по-умолчанию 4.8. Трассировка комплексных протоколов Глава 5. Сохранение и восстановление больших наборов правил 5.1. Плюсы 5.2. И минусы 5.3. iptables-save 5.4. iptables-restore Глава 6. Как строить правила 6.1. Основы 6.2. Таблицы 6.3. Команды 6.4. Критерии 6.4.1. Общие критерии 6.4.2. Неявные критерии 6.4.2.1. TCP критерии 6.4.2.2. UDP критерии 6.4.2.3. ICMP критерии 6.4.3. Явные критерии 6.4.3.1. Критерий Limit 6.4.3.2. Критерий MAC 6.4.3.3. Критерий Mark 6.4.3.4. Критерий Multiport 6.4.3.5. Критерий Owner 6.4.3.6. Критерий State 6.4.3.7. Критерий TOS 6.4.3.8. Критерий TTL 6.4.4. Критерий «мусора» (Unclean match) 6.5. Действия и переходы 6.5.1. Действие ACCEPT 6.5.2. Действие DNAT 6.5.3. Действие DROP 6.5.4. Действие LOG 6.5.5. Действие MARK 6.5.6. Действие MASQUERADE 6.5.7. Действие MIRROR 6.5.8. Действие QUEUE 6.5.9. Действие REDIRECT 6.5.10. Действие REJECT 6.5.11. Действие RETURN 6.5.12. Действие SNAT 6.5.13. Действие TOS 6.5.14. Действие TTL 6.5.15. Действие ULOG Глава 7. Файл rc.firewall 7.1. Пример rc.firewall 7.2. Описание сценария rc.firewall 7.2.1. Конфигурация 7.2.2. Загрузка дополнительных модулей 7.2.3. Настройка /proc 7.2.4. Размещение правил по разным цепочкам 7.2.5. Установка политик по-умолчанию 7.2.6. Создание пользовательских цепочек в таблице filter 7.2.6.1. Цепочка bad_tcp_packets 7.2.6.2. Цепочка allowed 7.2.6.3. Цепочка для TCP 7.2.6.4. Цепочка для UDP 7.2.6.5. Цепочка для ICMP 7.2.7. Цепочка INPUT 7.2.8. Цепочка FORWARD 7.2.9. Цепочка OUTPUT 7.2.10. Цепочка PREROUTING таблицы nat 7.2.11. Запуск SNAT и цепочка POSTROUTING Глава 8. Примеры сценариев 8.1. Структура файла rc.firewall.txt 8.1.1. Структура 8.2. rc.firewall.txt 8.3. rc.DMZ.firewall.txt 8.4. rc.DHCP.firewall.txt 8.5. rc.UTIN.firewall.txt 8.6. rc.test-iptables.txt 8.7. rc.flush-iptables.txt 8.8. Limit-match.txt 8.9. Pid-owner.txt 8.10. Sid-owner.txt 8.11. Ttl-inc.txt 8.12. Iptables-save ruleset Приложение A. Детальное описание специальных команд A.1. Вывод списка правил A.2. Изменение и очистка ваших таблиц Приложение B. Общие проблемы и вопросы B.1. Проблемы загрузки модулей B.2. Пакеты со статусом NEW и со сброшенным битом SYN B.3. SYN/ACK – пакеты и пакеты со статусом NEW B.4. Поставщики услуг Internet, использующие зарезервированные IP-адреса B.5. Как разрешить прохождение DHCP запросов через iptables B.6. Проблемы mIRC DCC Приложение C. Типы ICMP Приложение D. Ссылки на другие ресурсы Приложение E. Благодарности Приложение F. Хронология Приложение G. GNU Free Documentation License 0. PREAMBLE 1. APPLICABILITY AND DEFINITIONS 2. VERBATIM COPYING 3. COPYING IN QUANTITY 4. MODIFICATIONS 5. COMBINING DOCUMENTS 6. COLLECTIONS OF DOCUMENTS 7. AGGREGATION WITH INDEPENDENT WORKS 8. TRANSLATION 9. TERMINATION 10. FUTURE REVISIONS OF THIS LICENSE How to use this License for your documents Приложение H. GNU General Public License 0. Preamble 1. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 2. How to Apply These Terms to Your New Programs Приложение I. Примеры сценариев I.1. Пример rc.firewall I.2. Пример rc.DMZ.firewall I.3. Пример rc.UTIN.firewall I.4. Пример rc.DHCP.firewall I.5. Пример rc.flush-iptables I.6. Пример rc.test-iptables
Типографские соглашения В данном документе приняты следующие соглашения по выделению информации различного рода:
Команды, вводимые пользователем, и вывод, получаемый в результате работы команд, отображаются моноширинным шрифтом, кроме того, ввод пользователя отображается жирным шрифтом:
[blueflux@work1 neigh]$ ls
default eth0 lo
[blueflux@work1 neigh]$
Все команды и имена программ отображаются жирным шрифтом .
Все упоминания об аппаратном обеспечении, а так же о внутренних механизмах ядра или абстрактных понятиях системы (например: петлевой (loopback) интерфейс), отображаются курсивом .
Имена файлов и пути к файлам отображаются таким образом: /usr/local/bin/iptables.