Назад | Перейти на главную страницу

linux initcwnd и initrwnd через /etc/sysctl.conf

Ребята, как мы знаем, ядра 3.x имеют более высокие значения соединения TCP по умолчанию, такие как initcwnd и initrwnd. Для друзей 2.x есть ли способ установить их в /etc/sysctl.conf вместо пути ip route?

Вместо следующего:

sudo ip route change default via 192.168.1.1 dev eth0  proto static initcwnd 10

Есть ли способ установить то же самое в /etc/sysctl.conf?

Спасибо

Под "через sysctl.conf" вы действительно хотите, чтобы настройки применялись при каждой загрузке?

Если да, то можете написать /sbin/ifup-local запускать любые команды в качестве последней части запуска интерфейса. В ifup сценарий вызывает это с именем интерфейса в качестве параметра.

Так что ваши /sbin/ifup-local может содержать:

#!/bin/bash
if [[ "$1" == "eth0" ]]
then
  ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10
fi

По крайней мере, это работает на RHEL / CentOS. Деб / Убу / другие не пробовал.

В случае CentOS 7 скрипт, вызываемый в ifup, - это / sbin / ifup-pre-local. Итак, я просто сделал скрипт / sbin / ifup-pre-local:

#!/bin/bash

defrt=`ip route | grep "^default" | head -1`
ip route change $defrt initcwnd 10

И initcwnd устанавливается при всех перезагрузках и перезапуске сети.