Si vous obtenez votre adresse internet en utilisant DHCP (ce qui est suggéré par votre question), alors vous pouvez utiliser /etc/dhcp/dhclient-exit-hooks
pour exécuter les commandes Shell après dhclient
configure votre interface. Vous aurez accès à un certain nombre de variables fournies par dhclient, notamment $router
. Vous pouvez l'utiliser pour exécuter :
ip route change default via $router dev $interface initcwnd 12
Vous installerez ce script avec un Puppet normal. file
ressource :
file { '/etc/dhcp/dhclient-exit-hooks':
owner => root,
group => root,
mode => 0755,
source => 'puppet:///.../dhclient-exit-hooks',
}
Et le contenu du fichier ressemblerait probablement à quelque chose comme :
#!/bin/sh
if [ "$interface" = eth0 ]; then
ip route change default via ${new_routers%% *} dev $interface initcwnd 12
fi
Si vous êtes no en utilisant DHCP, vous pouvez faire quelque chose de similaire. La méthode normale ifup
script s'exécute /sbin/ifup-local
après avoir configuré l'interface, et vous pourriez l'utiliser pour exécuter la commande ip
commande. Dans ce cas, vous pourriez obtenir l'adresse de la passerelle par défaut en recherchant simplement dans la configuration de l'interface en /etc/sysconfig/network-scripts/ifcfg-eth0
(et votre marionnette file
La ressource installerait /sbin/ifup-local
).