Использование Iptables
Идея, лежащая в основе Iptables и Ipchains, состоит в создании каналов входных данных и их обработке в соответствии с набором правил (конфигурацией вашего межсетевого экрана) с последующей передачей в выходные каналы. В Iptables правила располагаются в таблицах, а внутри таблиц - в цепочках. Основными цепочками, используемыми в Iptables, служат:
- Input.
- Forward.
- Prerouting.
- Postrouting.
- Output.
Общий формат инструкций Iptables таков:
Iptables команда спецификация_правил расширения,
где команда, спецификация_правил и расширения - это одна или несколько допустимых опций. В табл. 3.3 перечислены команды Iptables, а табл. 3.4 содержит спецификации правил Iptables.
-A цепочка | Добавляет в конец указанной цепочки одно или несколько правил, заданных в инструкции вслед за командой |
-I цепочка номер_правила | Вставляет правила в позицию с заданным номером в указанной цепочке. Это полезно, если вы хотите перекрыть правила, заданные ранее |
-D цепочка спецификация_правил | Удаляет из указанной цепочки специфицированные номером или текстом правила |
-R цепочка номер_правила | Заменяет правило в позиции с заданным номером в указанной цепочке |
-L цепочка | Выдает все правила в цепочке. Если цепочка не задана, выдаются все цепочки |
-F цепочка | Сбрасывает все правила в цепочке, по сути ликвидируя конфигурацию вашего межсетевого экрана. Это полезно в начале конфигурирования, чтобы гарантировать отсутствие существующих правил, способных конфликтовать с вашими новыми правилами |
-Z цепочка | Обнуляет все счетчики пакетов и байтов в указанной цепочке |
-N цепочка | Создает новую цепочку с заданным именем |
-X цепочка | Удаляет указанную цепочку. По умолчанию удаляются все цепочки |
-P цепочка политика | Задает политику для указанной цепочки |
-p протокол | Задает протокол, которому соответствует правило. Допустимыми типами протоколов являются icmp, tcp, udp и all | |
-s адрес/маска | Задает определенный адрес или сеть для соответствия. Используется стандартная нотация с косой чертой для указания диапазона IP-адресов | |
-j цель | Указывает, что делать с пакетом, если он соответствует спецификациям. Допустимыми опциями для цели являются: | |
DROP | Отбрасывает пакет без всяких дальнейших действий. | |
REJECT | Отбрасывает пакет и посылает в ответ пакет с уведомлением об ошибке. | |
LOG | Протоколирует пакет в файле. | |
MARK | Помечает пакет для дальнейших действий. | |
TOS | Изменяет поле TOS (тип обслуживания). | |
MIRROR | Меняет местами исходный и целевой адреса и посылает пакеты обратно, по сути "отражая" их назад отправителю. | |
SNAT | Трансляция исходных сетевых адресов. Эта опция применяется при выполнении трансляции сетевых адресов. Исходный адрес преобразуется в другое статическое значение, определенное с помощью ключа - to-source. | |
DNAT | Трансляция целевых сетевых адресов. Данная опция аналогична предыдущей, но применяется к целевым адресам. | |
MASQ | Маскарад с помощью общедоступного IP-адреса. | |
REDIRECT | Перенаправляет пакет. |
Существуют и другие команды и опции, но мы перечислили самые распространенные операции. Весь список команд можно найти в оперативной справке Iptables, набрав man iptables в командной строке.