Книга: Iptables Tutorial 1.1.19
6.5.13. Действие TOS
6.5.13. Действие TOS
Команда TOS используется для установки битов в поле Type of Service IP заголовка. Поле TOS содержит 8 бит, которые используются для маршрутизации пакетов. Это один из нескольких полей, используемых iproute2. Так же важно помнить, что данное поле может обрабатываться различными маршрутизаторами с целью выбора маршрута движения пакета. Как уже указывалось выше, это поле, в отличие от MARK, сохраняет свое значение при движении по сети, а поэтому может использоваться вами для маршрутизации пакета. На сегодняшний день, большинство маршрутизаторов в Интернете никак не обрабатывают это поле, однако есть и такие, которые смотрят на него. Если вы используете это поле в своих нуждах, то подобные маршрутизаторы могут принять неверное решение при выборе маршрута, поэтому, лучше всего использовать это поле для своих нужд только в пределах вашей WAN или LAN.
ОСТОРОЖНО: Действие TOS воспринимает только предопределенные числовые значения и мнемоники, которые вы можете найти в linux/ip.h. Если вам действительно необходимо устанавливать произвольные значения в поле TOS, то можно воспользоваться «заплатой» FTOS с сайта Paksecured Linux Kernel patches, поддерживаемого Matthew G. Marsh. Однако, будьте крайне осторожны с этой «заплатой». Не следует использовать нестандартные значения TOS иначе как в особенных ситуациях.
ПРИМЕЧАНИЕ: Данное действие допускается выполнять только в пределах таблицы mangle.
ПРИМЕЧАНИЕ: В некоторых старых версиях iptables (1.2.2 и ниже) это действие реализовано с ошибкой (не исправляется контрольная сумма пакета), а это ведет к нарушению протокола обмена и в результате такие соединения обрываются.
Команда TOS имеет только один ключ, который описан ниже.
Таблица 6-23. Действие TOS
(Ключ – Пример – Описание)
Ключ: –set-tos
Пример: iptables -t mangle -A PREROUTING -p TCP –dport 22 -j TOS –set-tos 0x10
Описание: Ключ –set-tos определяет числовое значение в десятичном или шестнадцатиричном виде. Поскольку поле TOS является 8-битным, то вы можете указать число в диапазоне от 0 до 255 (0x00 – 0xFF). Однако, большинство значений этого поля никак не используются. Вполне возможно, что в будущих реализациях TCP/IP числовые значения могут быть изменены, поэтому, во-избежание ошибок, лучше использовать мнемонические обозначения: Minimize-Delay (16 или 0x10), Maximize-Throughput (8 или 0x08), Maximize-Reliability (4 или 0x04), Minimize-Cost (2 или 0x02) или Normal-Service (0 или 0x00). По-умолчанию большинство пакетов имеют признак Normal-Service, или 0. Список мнемоник вы сможете получить, выполнив команду iptables -j TOS -h.
- 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