Qui*_*Par 7 linux centos puppet
我有两个更改ip route&sysctl禁用 tcp 慢启动。这是我的方法
ip route show
Run Code Online (Sandbox Code Playgroud)
记下以 default 开头的行。
从默认行中选择 IP 并运行
sudo ip route change default via $ip_address dev eth0 initcwnd 12
sudo sysctl -w net.ipv4.tcp_slow_start_after_idle=0
Run Code Online (Sandbox Code Playgroud)
我怎样才能从中创建一个木偶脚本?一种可以部署到多台相同类型机器的机器——CentOS 6
编辑: 添加赏金以获得一个工作示例
sudo ip route change default via $ip_address dev eth0 initcwnd 12
Run Code Online (Sandbox Code Playgroud)
该sysctl侧覆盖在这个岗位:设置sysctl.conf的参数与木偶。
编辑:您在 CentOS 上,所以请记住,您需要使这些路由持久化......在文件中进行更改,验证,然后重新启动网络接口是更安全的方法吗?这假定/etc/sysconfig/network-scripts/route-ethX使用,因为您使用的是via语法。该ip route命令似乎是您的目标,因为您想更改初始拥塞窗口 (initcwnd)。我会认真地把它分成另一个选项,因为设置默认网关本身应该由操作系统网络脚本/kickstart/build 过程来处理。
现在有一个完全不同的解决方案:
我喜欢 Puppet 的某些方面。网络配置和 sysctl 值不在其中。使用 EL6 系统,您可以使用tuned-adm 框架以简单且一致的方式动态更改这些系统。我管理的服务器有时需要 30 多个sysctl并sysfs在投入生产之前进行更改。我用手动管理,然后用木偶......但EL6,我创建了一个调整轮廓与所有必要的调整和脚本,管理配置文件和他们的木偶分布,控制tuned木偶守护进程。
鉴于此,只需在自定义配置文件中移动您的ip脚本和sysctl值,然后从那里开始。干净多了。
如果您使用 DHCP 获取 Internet 地址(这是您的问题所建议的),那么您可以/etc/dhcp/dhclient-exit-hooks在dhclient配置接口后使用它来运行 shell 命令。您将可以访问 dhclient 提供的许多变量,包括$router. 您可以使用它来运行:
ip route change default via $router dev $interface initcwnd 12
Run Code Online (Sandbox Code Playgroud)
您将使用普通的 Puppetfile资源安装此脚本:
file { '/etc/dhcp/dhclient-exit-hooks':
owner => root,
group => root,
mode => 0755,
source => 'puppet:///.../dhclient-exit-hooks',
}
Run Code Online (Sandbox Code Playgroud)
文件内容可能类似于:
#!/bin/sh
if [ "$interface" = eth0 ]; then
ip route change default via ${new_routers%% *} dev $interface initcwnd 12
fi
Run Code Online (Sandbox Code Playgroud)
如果您不使用 DHCP,您可以执行类似的操作。配置接口后ifup运行正常脚本/sbin/ifup-local,您可以使用它来运行ip命令。在这种情况下,您可以简单地通过在接口配置中获取资源来获取默认网关的地址/etc/sysconfig/network-scripts/ifcfg-eth0(并且您的 Puppetfile资源将安装/sbin/ifup-local)。
小智 6
离开 larsks 的答案,如果您有静态 IP 地址,请将其放在 /sbin/ifup-local 中
#!/bin/sh
GATEWAY=`ip route| awk '/^def/{print $3}'`
DEFGWDEV=`ip route| awk '/^def/{print $5}'`
if [ "$1" = $DEFGWDEV ]; then
ip route change default via $GATEWAY dev $DEFGWDEV initcwnd 12
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4315 次 |
| 最近记录: |