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
Посвящения Прежде всего, я хотел бы посвятить данный документ моей замечательной подруге Нинель (Ninel). Она поддерживает меня больше, чем я когда-либо смогу поддержать ее.
Во-вторых – всем разработчикам Linux сделавшим эту замечательную операционную систему, за их невероятно напряженный труд.