Iptables Tutorial 1.1.19
Добавить в закладки К обложке
- Посвящения - Страница 1
- Об авторе - Страница 2
- Как читать этот документ - Страница 3
- Предварительные условия - Страница 4
- Типографские соглашения - Страница 5
- Глава 1. Введение - Страница 6
- 1.2. Как он был написан - Страница 7
- 1.3. Термины, используемые в данном документе - Страница 8
- Глава 2. Подготовка - Страница 9
- 2.1. Где взять iptables - Страница 10
- 2.2. Настройка ядра - Страница 11
- 2.3. Установка пакета - Страница 14
- 2.3.1. Сборка пакета - Страница 15
- 2.3.2. Установка в Red Hat 7.1 - Страница 16
- Глава 3. Порядок прохождения таблиц и цепочек - Страница 18
- 3.1. Общие положения - Страница 19
- 3.2. Таблица Mangle - Страница 22
- 3.3. Таблица Nat - Страница 23
- 3.4. Таблица Filter - Страница 24
- Глава 4. Механизм определения состояний - Страница 25
- 4.1. Введение - Страница 26
- 4.2. Таблица трассировщика - Страница 27
- 4.3. Состояния в пространстве пользователя - Страница 28
- 4.4. TCP соединения - Страница 29
- 4.5. UDP соединения - Страница 31
- 4.6. ICMP соединения - Страница 32
- 4.7. Поведение по-умолчанию - Страница 34
- 4.8. Трассировка комплексных протоколов - Страница 35
- Глава 5. Сохранение и восстановление больших наборов правил - Страница 36
- 5.1. Плюсы - Страница 37
- 5.2. И минусы - Страница 38
- 5.3. iptables-save - Страница 39
- 5.4. iptables-restore - Страница 40
- Глава 6. Как строить правила - Страница 41
- 6.1. Основы - Страница 42
- 6.2. Таблицы - Страница 43
- 6.3. Команды - Страница 44
- 6.4. Критерии - Страница 47
- 6.4.1. Общие критерии - Страница 48
- 6.4.2. Неявные критерии - Страница 50
- 6.4.2.1. TCP критерии - Страница 51
- 6.4.2.2. UDP критерии - Страница 53
- 6.4.2.3. ICMP критерии - Страница 54
- 6.4.3. Явные критерии - Страница 55
- 6.4.3.1. Критерий Limit - Страница 56
- 6.4.3.2. Критерий MAC - Страница 57
- 6.4.3.3. Критерий Mark - Страница 58
- 6.4.3.4. Критерий Multiport - Страница 59
- 6.4.3.5. Критерий Owner - Страница 60
- 6.4.3.6. Критерий State - Страница 61
- 6.4.3.7. Критерий TOS - Страница 62
- 6.4.3.8. Критерий TTL - Страница 63
- 6.4.4. Критерий «мусора» (Unclean match) - Страница 64
- 6.5. Действия и переходы - Страница 65
- 6.5.1. Действие ACCEPT - Страница 66
- 6.5.2. Действие DNAT - Страница 67
- 6.5.3. Действие DROP - Страница 69
- 6.5.4. Действие LOG - Страница 70
- 6.5.5. Действие MARK - Страница 72
- 6.5.6. Действие MASQUERADE - Страница 73
- 6.5.7. Действие MIRROR - Страница 74
- 6.5.8. Действие QUEUE - Страница 75
- 6.5.9. Действие REDIRECT - Страница 76
- 6.5.10. Действие REJECT - Страница 77
- 6.5.11. Действие RETURN - Страница 78
- 6.5.12. Действие SNAT - Страница 79
- 6.5.13. Действие TOS - Страница 80
- 6.5.14. Действие TTL - Страница 81
- 6.5.15. Действие ULOG - Страница 82
- Глава 7. Файл rc.firewall - Страница 83
- 7.1. Пример rc.firewall - Страница 84
- 7.2. Описание сценария rc.firewall - Страница 85
- 7.2.2. Загрузка дополнительных модулей - Страница 86
- 7.2.3. Настройка /proc - Страница 87
- 7.2.4. Размещение правил по разным цепочкам - Страница 88
- 7.2.5. Установка политик по-умолчанию - Страница 90
- 7.2.6. Создание пользовательских цепочек в таблице filter - Страница 91
- 7.2.6.1. Цепочка bad_tcp_packets - Страница 92
- 7.2.6.2. Цепочка allowed - Страница 93
- 7.2.6.3. Цепочка для TCP - Страница 94
- 7.2.6.4. Цепочка для UDP - Страница 95
- 7.2.6.5. Цепочка для ICMP - Страница 96
- 7.2.7. Цепочка INPUT - Страница 97
- 7.2.8. Цепочка FORWARD - Страница 98
- 7.2.9. Цепочка OUTPUT - Страница 99
- 7.2.10. Цепочка PREROUTING таблицы nat - Страница 100
- 7.2.11. Запуск SNAT и цепочка POSTROUTING - Страница 101
- Глава 8. Примеры сценариев - Страница 102
- 8.1. Структура файла rc.firewall.txt - Страница 103
- 8.1.1. Структура - Страница 104
- 8.2. rc.firewall.txt - Страница 107
- 8.3. rc.DMZ.firewall.txt - Страница 108
- 8.4. rc.DHCP.firewall.txt - Страница 109
- 8.5. rc.UTIN.firewall.txt - Страница 110
- 8.6. rc.test-iptables.txt - Страница 111
- 8.7. rc.flush-iptables.txt - Страница 112
- 8.8. Limit-match.txt - Страница 113
- 8.9. Pid-owner.txt - Страница 114
- 8.10. Sid-owner.txt - Страница 115
- 8.11. Ttl-inc.txt - Страница 116
- 8.12. Iptables-save ruleset - Страница 117
- Приложение A. Детальное описание специальных команд - Страница 118
- A.2. Изменение и очистка ваших таблиц - Страница 119
- Приложение B. Общие проблемы и вопросы - Страница 120
- B.2. Пакеты со статусом NEW и со сброшенным битом SYN - Страница 121
- B.3. SYN/ACK – пакеты и пакеты со статусом NEW - Страница 122
- B.4. Поставщики услуг Internet, использующие зарезервированные IP-адреса - Страница 123
- B.5. Как разрешить прохождение DHCP запросов через iptables - Страница 124
- B.6. Проблемы mIRC DCC - Страница 125
- Приложение C. Типы ICMP - Страница 126
- Приложение D. Ссылки на другие ресурсы - Страница 128
- Приложение E. Благодарности - Страница 130
- Приложение F. Хронология - Страница 131
- Приложение G. GNU Free Documentation License - Страница 133
- 0. PREAMBLE - Страница 134
- 1. APPLICABILITY AND DEFINITIONS - Страница 135
- 2. VERBATIM COPYING - Страница 136
- 3. COPYING IN QUANTITY - Страница 137
- 4. MODIFICATIONS - Страница 138
- 5. COMBINING DOCUMENTS - Страница 140
- 6. COLLECTIONS OF DOCUMENTS - Страница 141
- 7. AGGREGATION WITH INDEPENDENT WORKS - Страница 142
- 8. TRANSLATION - Страница 143
- 9. TERMINATION - Страница 144
- 10. FUTURE REVISIONS OF THIS LICENSE - Страница 145
- How to use this License for your documents - Страница 146
- Приложение H. GNU General Public License - Страница 147
- 0. Preamble - Страница 148
- 1. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - Страница 149
- 2. How to Apply These Terms to Your New Programs - Страница 152
- Приложение I. Примеры сценариев - Страница 153
- I.2. Пример rc.DMZ.firewall - Страница 156
- I.3. Пример rc.UTIN.firewall - Страница 159
- I.4. Пример rc.DHCP.firewall - Страница 162
- I.5. Пример rc.flush-iptables - Страница 165
- I.6. Пример rc.test-iptables - Страница 166
6.3. Команды
Ниже приводится список команд и правила их использования. Посредством команд мы сообщаем iptables что мы предполагаем сделать. Обычно предполагается одно из двух действий – добавление нового правила в цепочку или удаление существующего правила из той или иной таблицы. Далее приведены команды, которые используются в iptables.
Таблица 6-2. Команды
(Команда – Пример – Описание)
Команда: -A, –append
Пример: iptables -A INPUT ...
Описание: Добавляет новое правило в конец заданной цепочки.
Команда: -D, –delete
Пример: iptables -D INPUT –dport 80 -j DROP, iptables -D INPUT 1
Описание: Удаление правила из цепочки. Команда имеет два формата записи, первый – когда задается критерий сравнения с опцией -D (см. первый пример), второй – порядковый номер правила. Если задается критерий сравнения, то удаляется правило, которое имеет в себе этот критерий, если задается номер правила, то будет удалено правило с заданным номером. Счет правил в цепочках начинается с 1.
Команда: -R, –replace
Пример: iptables -R INPUT 1 -s 192.168.0.1 -j DROP
Описание: Эта команда заменяет одно правило другим. В основном она используется во время отладки новых правил.
Команда: -I, –insert
Пример: iptables -I INPUT 1 –dport 80 -j ACCEPT
Описание: Вставляет новое правило в цепочку. Число, следующее за именем цепочки указывает номер правила, перед которым нужно вставить новое правило, другими словами число задает номер для вставляемого правила. В примере выше, указывается, что данное правило должно быть 1-м в цепочке INPUT.
Команда: -L, –list
Пример: iptables -L INPUT
Описание: Вывод списка правил в заданной цепочке, в данном примере предполагается вывод правил из цепочки INPUT. Если имя цепочки не указывается, то выводится список правил для всех цепочек. Формат вывода зависит от наличия дополнительных ключей в команде, например -n, -v, и пр.
Команда: -F, –flush
Пример: iptables -F INPUT
Описание: Сброс (удаление) всех правил из заданной цепочки (таблицы). Если имя цепочки и таблицы не указывается, то удаляются все правила, во всех цепочках. (Хочется от себя добавить, что если не указана таблица ключом -t (–table), то очистка цепочек производится только в таблице filter, прим. перев. )
Команда:-Z, –zero
Пример: iptables -Z INPUT
Описание: Обнуление всех счетчиков в заданной цепочке. Если имя цепочки не указывается, то подразумеваются все цепочки. При использовании ключа -v совместно с командой -L, на вывод будут поданы и состояния счетчиков пакетов, попавших под действие каждого правила. Допускается совместное использование команд -L и -Z. В этом случае будет выдан сначала список правил со счетчиками, а затем произойдет обнуление счетчиков.
Команда: -N, –new-chain
Пример: iptables -N allowed
Описание: Создается новая цепочка с заданным именем в заданной таблице В выше приведенном примере создается новая цепочка с именем allowed. Имя цепочки должно быть уникальным и не должно совпадать с зарезервированными именами цепочек и действий (такими как DROP, REJECT и т.п.)
Команда: -X, –delete-chain
Пример: iptables -X allowed
Описание: Удаление заданной цепочки из заданной таблицы. Удаляемая цепочка не должна иметь правил и не должно быть ссылок из других цепочек на удаляемую цепочку. Если имя цепочки не указано, то будут удалены все цепочки заданной таблице кроме встроенных.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166