Iptables Tutorial 1.1.19
Шрифт:
Ключ: –log-tcp-options
Пример: iptables -A FORWARD -p tcp -j LOG –log-tcp-options
Описание: Этот ключ позволяет заносить в системный журнал различные сведения из заголовка TCP пакета. Такая возможность может быть полезна при отладке. Этот ключ не имеет дополнительных параметров, как и большинство ключей действия LOG.
Ключ: –log-ip-options
Пример: iptables -A FORWARD -p tcp -j LOG –log-ip-options
Описание:
6.5.5. Действие MARK
Используется для установки меток для определенных пакетов. Это действие может выполняться только в пределах таблицы mangle. Установка меток обычно используется для нужд маршрутизации пакетов по различным маршрутам, для ограничения трафика и т.п.. За дополнительной информацией вы можете обратиться к Linux Advanced Routing and Traffic Control HOW-TO. Не забывайте, что «метка» пакета существует только в период времени пока пакет не покинул брандмауэр, т.е. метка не передается по сети. Если необходимо как-то пометить пакеты, чтобы использовать маркировку на другой машине, то можете попробовать манипулировать битами поля TOS.
Таблица 6-18. Ключи действия MARK
(Ключ – Пример – Описание)
Ключ: –set-mark
Пример: iptables -t mangle -A PREROUTING -p tcp –dport 22 -j MARK –set-mark 2
Описание: Ключ –set-mark устанавливает метку на пакет. После ключа –set-mark должно следовать целое беззнаковое число.
6.5.6. Действие MASQUERADE
Маскарадинг (MASQUERADE) в основе своей представляет то же самое, что и SNAT только не имеет ключа –to-source. Причиной тому то, что маскарадинг может работать, например, с dialup подключением или DHCP, т.е. в тех случаях, когда IP адрес присваивается устройству динамически. Если у вас имеется динамическое подключение, то нужно использовать маскарадинг, если же у вас статическое IP подключение, то бесспорно лучшим выходом будет использование действия SNAT.
Маскарадинг подразумевает получение IP адреса от заданного сетевого интерфейса, вместо прямого его указания, как это делается с помощью ключа –to-source в действии SNAT. Действие MASQUERADE имеет хорошее свойство – «забывать» соединения при остановке сетевого интерфейса. В случае же SNAT, в этой ситуации, в таблице трассировщика остаются данные о потерянных соединениях, и эти данные могут сохраняться до суток, поглощая ценную память. Эффект «забывчивости» связан с тем, что при остановке сетевого интерфейса с динамическим IP адресом, есть вероятность на следующем запуске получить другой IP адрес, но в этом случае любые соединения все равно будут потеряны, и было бы глупо хранить трассировочную информацию.
Как вы уже поняли, действие MASQUERADE может быть использовано вместо SNAT,
Действие MASQUERADE допускается указывать только в цепочке POSTROUTING таблицы nat, так же как и действие SNAT. MASQUERADE имеет ключ, описываемый ниже, использование которого необязательно.
Таблица 6-19. Действие MASQUERADE
(Ключ – Пример – Описание)
Ключ: –to-ports
Пример: iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE –to-ports 1024-31000
Описание: Ключ –to-ports используется для указания порта источника или диапазона портов исходящего пакета. Можно указать один порт, например: –to-ports 1025, или диапазон портов как здесь: –to-ports 1024-3000. Этот ключ можно использовать только в правилах, где критерий содержит явное указание на протокол TCP или UDP с помощью ключа –protocol.
6.5.7. Действие MIRROR
Действие MIRROR может использоваться вами только для экспериментов и в демонстрационных целях, поскольку это действие может привести к «зацикливанию» пакета и в результате к «Отказу от обслуживания». В результате действия MIRROR в пакете, поля source и destination меняются местами (invert the source and destination fields) и пакет отправляется в сеть. Использование этой команды может иметь весьма забавный результат, наверное, со стороны довольно потешно наблюдать, как какой нибудь кульхацкер пытается «взломать» свой собственный компьютер!
Данное действие допускается использовать только в цепочках INPUT, FORWARD и PREROUTING, и в цепочках, вызываемых из этих трех. Пакеты, отправляемые в сеть действием MIRROR больше не подвергаются фильтрации, трассировке или NAT, избегая тем самым «зацикливания» и других неприятностей. Однако это не означает, что проблем с этим действием нет. Давайте, к примеру, представим, что на хосте, использующем действие MIRROR фабрикуется пакет, с TTL равным 255, на этот же самый хост и пакет подпадает под критерий «зеркалирующего» правила. Пакет «отражается» на этот же хост, а поскольку между «приемником» и «передатчиком» только 1 хоп (hop) то пакет будет прыгать туда и обратно 255 раз. Неплохо для крякера, ведь, при величине пакета 1500 байт, мы потеряем до 380 Кбайт трафика!
6.5.8. Действие QUEUE
Действие QUEUE ставит пакет в очередь на обработку пользовательскому процессу. Оно может быть использовано для нужд учета, проксирования или дополнительной фильтрации пакетов.
От переводчика: Далее автор пространно рассуждает о том, что обсуждение данной темы далеко выходит за рамки документа и пр., поэтому, не мудрствуя лукаво, приведу здесь выдержку изв переводе Евгения Данильченко aka virii5, [email protected]