Ребята, как мы знаем, ядра 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 устанавливается при всех перезагрузках и перезапуске сети.