Linux Advanced Routing & Traffic Control HOWTO
Шрифт:
Максимальная частота генерации ICMP-пакетов с типом, указанным в icmp_ratemask (см. ниже). Это значение задается в "тиках" и устанавливает временной интервал между ICMP-посылками. Таким образом, значение 0 означает отсутствие ограничений. Обычно 1 "тик" равен 0.01 секунды, так значение 1 в этой переменной ограничивает скорость передачи не более 100 посылок в секунду, а значение 100 – не более 1 посылки в секунду. Значение по-умолчанию – 100 (зависит от конфигурации ядра), что означает не более 1 ICMP посылки за интервал в 100 "тиков".
Маска ICMP
icmp_ratemask – это битовая маска, где каждый ICMP тип представлен своим битом. Соответствие между символическим названием ICMP типа и его порядковым номером вы найдете в заголовочном файле netinet/ip_icmp.h (обычно это /usr/include/netinet/ip_icmp.h). За дополнительной информацией обращайтесь к RFC 792 — Internet Control Message Protocol. Математически маска определяется так:
где n принимает значения всех типов ICMP, которые должны быть ограничены.
Например: Ограничим передачу сообщений ICMP Destination Unreachable. В /usr/include/netinet/ip_icmp.h этому типу соответствует число 3. Подсчитаем значение 2**3, это будет число 8. Теперь нужно прибавить это число к имеющейся битовой маске. Допустим, что маска уже равна числу 6160 (в двоичном виде 0001100000010000), тогда результирующая маска получится: 6160 + 8 = 6168 (в двоичном виде 0001100000011000).
Warning
Перед добавлением маски подобным образом убедитесь сначала, что нужный вам бит сброшен, иначе вы получите неверную маску! К примеру, если у вас маска является числом 256 и вы еще добавите число 256, то это приведет к размаскированию ICMP Echo Request и маскировке 9-го, отсутствующего типа ICMP.
Значение по-умолчанию — 6168 (в двоичном виде 0001100000011000), что подразумевает наложение ограничений на ICMP Destination Unreachable, ICMP Source Quench, ICMP Time Exceeded и ICMP Parameter Problem , где ICMP Destination Unreachable = 3, ICMP Source Quench = 4, ICMP Time Exceeded = 11 и ICMP Parameter Problem = 12. Таким образом, значение по-умолчанию соответствует выражению:
Note
Злоумышленник может "заставить" некоторый маршрутизатор или хост "затопить" жертву ICMP-посылками, передаваемыми в ответ на поддельный ICMP-пакет с обратным адресом жертвы. Поэтому очень важно ограничить частоту генерации отдельных видов ICMP-сообщений.
Warning
На сайтевы найдете небольшую программу — ratemask, которая может оказаться полезной при создании маски для переменной icmp_ratemasks или для дешифрации существующей маски.
Максимальное число групп на каждый сокет. Значение по-умолчанию — 20 и может быть изменено по мере необходимости. FIXME: Это действительно так?
Параметр inet_peer_gc_maxtime
Параметр принимает целое число, измеряемое в "тиках". Значение по-умолчанию — 120 "тиков", чего вполне достаточно для большинства серверов и рабочих станций.
Параметр inet_peer_gc_mintime устанавливает минимальное время между проходами "сборщика мусора" при значительном объеме данных, хранящихся в "inet peer storage". Когда система находится под тяжелыми нагрузками и появляется множество факторов, ограничивающих размер пула памяти, то частота "сборки мусора" определяется этой переменной. Значение переменной измеряется в "тиках".
Параметр принимает целое число, измеряемое в "тиках". Значение по-умолчанию — 10 "тиков", чего вполне достаточно для большинства серверов и рабочих станций.
Это максимальное время хранения записей. При незначительных нагрузках на систему неиспользуемые записи будут удаляться через данный промежуток времени.
Параметр определяет минимальное время хранения данных в "inet peer storage". Это время должно быть достаточно большим, чтобы перекрыть время сборки фрагментов на противоположной стороне. Минимальное время хранения является гарантией того, что размер пула будет меньше чем величина inet_peer_threshold.
Здесь хранится приблизительный размер памяти для "inet peer storage". Когда размер пула достигает этой величины, то "сборщик мусора" переводится в более агрессивный режим работы – с периодом прохода inet_peer_gc_mintime. Кроме того, этот порог влияет на срок хранения записей. Чем выше этот порог, тем больше срок хранения.
Этот параметр содержит номер протокола, по которому получил сведения о конфигурации (RARP, BOOTP, DHCP или нечто подобное). Иначе — ноль.
Устанавливает значение по-умолчанию для величины Time To Live исходящих пакетов. Это число определяет продолжительность "жизни" пакета в Internet. Каждый раз, когда пакет попадает на очередной роутер (брандмауэр и т.п.), величина TTL пакета уменьшается на 1.
Значение по-умолчанию — 64. Это достаточно приемлемое значение. Очень трудно представить себе ситуацию, когда это число оказалось бы недостаточным. Переменная принимает целое число без знака в диапазоне от 0 до 255 включительно, однако, значение 255 слишком велико, а если поставить 0 — то вы вообще лишитесь выхода в сеть. Число 64 достаточно хорошее, если вы не пытаетесь установить соединение с компьютером, отстоящим от вас на значительном растоянии, измеряемом в "переходах" (hops). Тогда этой вличины TTL может и не хватить. Однако, на практике едва ли вам встретятся компьютеры, отстоящие от вас более чем на 30 "переходов" (hops).