Для получения всех параметров стека протоколов TCP/IP удобнее выполнить команду
sysctl –a | grep ipv4
Кроме того, можно изменять сразу несколько параметров, если записать их в файл /etc/sysctl.conf строками в виде net.ipv4.tcp_forward = 1и выполнить команду sysctl –p
Использование команды echo для настройки стека TCP/IP:
echo 1 > /proc/sys/net/ipv4/tcp_sack
Выполняет то же самое, что и sysctl -w net.ipv4.tcp_sack=1.
Более подробную информацию о работе команды sysctl и виртуальной системе /proc можно найти в интернете или с помощью команд man sysctl и man proc.
Некоторые параметры стека TCP/IP, хранящиеся в /proc.
Параметрip_default_ttl
Устанавливает значение по умолчанию для величины Time To Live исходящих пакетов. Время жизни пакета уже упоминалось в предыдущей лабораторной работе, оно показывает число «прыжков» пакета между сетевыми узлами, после которых пакет будет уничтожен.
Стандартное значение TTL равно 64. Выставление слишком низкого TTL может привести к тому, что пакеты никогда не будут доходить до адресата, а слишком большой TTL может привести к излишней нагрузке сети в случае зацикливания маршрута пакета.
Параметрip_forward
Включает/отключает функцию перенаправления (передачу транзитных пакетов между сетевыми интерфейсами), которая позволяет компьютеру выступать в роли брандмауэра или маршрутизатора.
Параметрip_local_port_range
Содержит два целых числа, которые определяют диапазон локальных портов, которые используются в клиентских соединениях. Эти порты используются для исходящих соединений, которые связывают нашу систему с некоторым узлом сети, где мы выступаем в качестве клиента. Первое число задает нижнюю границу диапазона, второе - верхнюю.
Значения по умолчанию зависят от имеющегося объема ОЗУ. Если установлено более чем 128 Мб, то нижняя граница будет 32768, а верхняя -- 61000. При меньшем объеме ОЗУ нижняя граница будет 1024 а верхняя -- 4999 или меньше.
Параметрtcp_abort_on_overflow
Заставляет ядро отклонять новые соединения, если их поступает такое количество, что система не в состоянии справиться с ними справиться. Если выставить значение переменной в 0, то система будет пытаться обслужить все подключения. Функция очень полезна в борьбе с DDoS атаками.
Параметрtcp_keepalive_intvl
Определяет интервал проверки "жизнеспособность" сокета. Это значение учитывается при подсчете времени, которое должно пройти перед тем как соединение будет разорвано. Значение по умолчанию - 75 секунд.
Параметрtcp_sack
Разрешает Selective Acknowledgements (SACK -- Выборочное Подтверждение) пакетов. Особенно полезно на неустойчивых соединениях, поскольку позволяет производить повторную передачу лишь отдельных, не подтвержденных фрагментов, а не всего TCP-окна, как это диктуется более старыми стандартами. В случае устойчивого соединения данную функцию рекомендуется отключить.