Configurando initcwnd e initrwnd para o início persistente na reinicialização do gerenciador de rede

1

Eu preciso que as rotas a seguir sejam iniciadas persistentemente sempre que o serviço do gerenciador de rede for reiniciado (tanto manualmente quanto depois de reiniciar a suspensão / hibernação).

ip route change default via 10.0.0.1 dev wlo1 proto static metric 600 initcwnd 10 initrwnd 10

ip route change 10.0.0.0/24 dev wlo1 proto kernel scope link src 10.0.0.5 metric 600 initcwnd 10 initrwnd 10

ip route change 169.254.0.0/16 dev wlo1 scope link metric 1000 initcwnd 10 initrwnd 10

Eu já tenho isso em ação na inicialização / reinicialização do sistema, que está funcionando bem em /etc/rc.d/rc.local.

No entanto, descobri que quando o gerenciador de rede é reiniciado após o sistema suspender / hibernar, as configurações de rota ip não estão mais presentes no initcwnd 10 e no initrwnd 10. Neste momento, apenas executo manualmente o /etc/rc.d/rc. script local para aplicar as configurações novamente.

Espero que alguém possa fornecer uma maneira mais automatizada de fazer isso em situações que mencionei acima.

Ainda mais útil, os valores initcwnd / initrwnd poderiam ser permanentemente compilados no kernel?

    
por cryptoboy 01.03.2017 / 08:25

1 resposta

0

Para fazer com que qualquer script / comando seja executado com o NetworkManager, você pode criar um script em NetworkManager/dispatcher.d/ e incluir o comando necessário. Isso seria lido e executado toda vez que o NetworkManager for reiniciado ou se o host for reinicializado com o serviço NetworkManager ativado. Por exemplo, você poderia criar uma chamada de arquivo 10-initcwnd no diretório e ter um script como:

#!/bin/bash

if [ "$1" = "wlo1" ] && [ "$2" = "up" ]; then
    ip route change 169.254.0.0/16 dev wlo1 scope link metric 1000 initcwnd 10 initrwnd 10
fi

A página de manual do Ubuntu sobre dispatcher.d pode ser encontrada aqui para referência .

    
por 02.03.2017 / 03:55