linux initcwnd e initrwnd via /etc/sysctl.conf

5

Gente,   Como sabemos, os kernels 3.x possuem valores de conexão padrão TCP mais altos, como initcwnd e initrwnd. Para amigos 2.x, existe uma maneira de configurá-los em /etc/sysctl.conf ao invés do caminho de rota ip?

Em vez do seguinte:

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

Existe uma maneira de definir o mesmo em /etc/sysctl.conf?

Obrigado

    
por CMag 16.10.2013 / 21:43

2 respostas

2

Por "via sysctl.conf" você quer dizer que quer que as configurações apliquem cada inicialização?

Nesse caso, você pode escrever /sbin/ifup-local para executar qualquer comando quando a última parte da interface for iniciada. O script ifup chama isso com o nome da interface como um parâmetro.

Portanto, o seu /sbin/ifup-local pode conter:

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

Pelo menos isso funciona no RHEL / CentOS. Eu não tentei Deb / Ubu / outros.

    
por 22.07.2014 / 14:36
1

No caso do CentOS 7, o script chamado no ifup é / sbin / ifup-pre-local. Então eu acabei de fazer o script / sbin / ifup-pre-local:

#!/bin/bash

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

E o initcwnd é definido em todas as reinicializações e na reinicialização da rede.

    
por 08.01.2017 / 18:23