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.5.12. Действие SNAT
SNAT используется для преобразования сетевых адресов (Source Network Address Translation), т.е. изменение исходящего IP адреса в IP заголовке пакета. Например, это действие можно использовать для предоставления выхода в Интернет другим компьютерам из локальной сети, имея лишь один уникальный IP адрес. Для этого. необходимо включить пересылку пакетов (forwarding) в ядре и затем создать правила, которые будут транслировать исходящие IP адреса нашей локальной сети в реальный внешний адрес. В результате, внешний мир ничего не будет знать о нашей локальной сети, он будет считать, что запросы пришли с нашего брандмауэра.
SNAT допускается выполнять только в таблице nat, в цепочке POSTROUTING. Другими словами, только здесь допускается преобразование исходящих адресов. Если первый пакет в соединении подвергся преобразованию исходящего адреса, то все последующие пакеты, из этого же соединения, будут преобразованы автоматически и не пойдут через эту цепочку правил.
Таблица 6-22. Действие SNAT
(Ключ – Пример – Описание)
Ключ: –to-source
Пример: iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT –to-source 194.236.50.155-194.236.50.160:1024-32000
Описание: Ключ –to-source используется для указания адреса, присваемового пакету. Все просто, вы указываете IP адрес, который будет подставлен в заголовок пакета в качестве исходящего. Если вы собираетесь перераспределять нагрузку между несколькими брандмауэрами, то можно указать диапазон адресов, где начальный и конечный адреса диапазона разделяются дефисом, например: 194.236.50.155-194.236.50.160. Тогда, конкретный IP адрес будет выбираться из диапазона случайным образом для каждого нового потока. Дополнительно можно указать диапазон портов, которые будут использоваться только для нужд SNAT. Все исходящие порты будут после этого перекартироваться в заданный диапазон. iptables старается, по-возможности, избегать перекартирования портов, однако не всегда это возможно, и тогда производится перекартирование . Если диапазон портов не задан, то исходные порты ниже 512 перекартируются в диапазоне 0-511, порты в диапазоне 512-1023 перекартируются в диапазоне 512-1023, и, наконец порты из диапазона 1024-65535 перекартируются в диапазоне 1024-65535. Что касается портов назначения, то они не подвергаются перекартированию.
- 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