Команда TOS используется для установки битов в поле
ОСТОРОЖНО: Действие TOS воспринимает только предопределенные числовые значения и мнемоники, которые вы можете найти в linux/ip.h. Если вам действительно необходимо устанавливать произвольные значения в поле TOS, то можно воспользоваться «заплатой» FTOS с сайта
ПРИМЕЧАНИЕ: Данное действие допускается выполнять только в пределах таблицы 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.
Действие TTL используется для изменения содержимого поля Time To Live в IP заголовке. Один из вариантов применения этого действия – это устанавливать значение поля Time To Live ВО ВСЕХ исходящих пакетах в одно и то же значение. Для чего это?! Есть некоторые провайдеры, которые очень не любят, когда одним подключением пользуется несколько компьютеров, если мы начинаем устанавливать на все пакеты одно и то же значение TTL, то тем самым мы лишаем провайдера одного из критериев определения того, что подключение к Интернету разделяется несколькими компьютерами. Для примера можно привести число TTL = 64, которое является стандартным для ядра Linux.
За дополнительной информацией по установке значения по-умолчанию обращайтесь к
Действие TTL можно указывать только в таблице mangle и нигде больше. Для данного действия предусмотрено 3 ключа, описываемых ниже.
Таблица 6-24. Действие TTL
(Ключ – Пример – Описание)
Ключ: –ttl-set
Пример: iptables -t mangle -A PREROUTING -i eth0 -j TTL –ttl-set 64
Описание: Устанавливает поле TTL в заданное значение. Оптимальным считается значение около 64. Это не слишком много, но и не слишком мало Не задавайте слишком большое значение, это может иметь неприятные последствия для вашей сети. Представьте себе, что пакет «зацикливается» между двумя неправильно сконфигурированными роутерами, тогда, при больших значениях TTL, есть риск «потерять» значительную долю пропускной способности канала.
Ключ: –ttl-dec
Пример: iptables -t mangle -A PREROUTING -i eth0 -j TTL –ttl-dec 1
Описание: Уменьшает значение поля TTL на заданное число. Например, пусть входящий пакет имеет значение TTL равное 53 и мы выполняем команду –ttl-dec 3, тогда пакет покинет наш хост с полем TTL равным 49. Не забывайте, что сетевой код автоматически уменьшит значение TTL на 1, поэтому, фактически мы получаем 53 – 3 – 1 = 49.
Ключ: –ttl-inc
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии