puppet 配置 3.1 管理 sysct.conf

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 辅助模块https://github.com/duritong/puppet-sysctl下载方法利用上面网站, 通过连接 clone or download 利用 download zip 按钮进行下载把下载的 zip 文件直接解压到服务器端 /etc/puppet/modules/sysctl/ 目录下文件结构如下[root@ter

辅助模块

https://github.com/duritong/puppet-sysctl

下载方法

利用上面网站, 通过连接 clone or download 利用 download zip 按钮进行下载
把下载的 zip 文件直接解压到服务器端  /etc/puppet/modules/sysctl/ 目录下

文件结构

如下

[root@terry-test-uq2pu ~]# ls /etc/puppet/modules/sysctl/
Gemfile  lib  manifests  Modulefile  Rakefile  README.md  spec

可以通过查询 README.md 文件查询使用方法

puppet 调用顺序

/etc/puppet/puppet.conf
 |-> /etc/puppet/manifests/main-site.pp
        |-> /etc/puppet/manifests/terry/terry-parameter.pp
        |-> /etc/puppet/manifests/terry/terry-site.pp
                |-> /etc/puppet/manifests/terry/terry-sysctl.pp

说明一下:

1. /etc/puppet/puppet.conf 中通过下面配置执行下一个文件

    manifest = /etc/puppet/manifests/main-site.pp

2.  /etc/puppet/manifests/main-site.pp 通过下面配置执行下一个文件

    import 'terry/terry-parameter.pp'
    import 'terry-site.pp'

3.   /etc/puppet/manifests/terry/terry-parameter.pp  (用于定了了全局变量)  下一章说明
     /etc/puppet/manifests/terry/terry-site.pp 定义了主机需要执行那些自定义行为, 使用那些资源, 当前以调用了 sysctl 模块功能
        import  'terry/terry-sysctl.pp'

4.   /etc/puppet/manifests/terry/terry-sysctl.pp 定义了 sysctl 配置

sysctl 控制说明

主要由 /etc/puppet/manifests/terry/terry-site.pp 控制整个客户端的行为
为了能够更加好地进行主机管理, 我们为每个功能都独立地存放到一个 pp (模板) 文件中 (terry-sysctl.pp)

文件例:

  sysctl::value {
    'net.ipv4.ip_forward':  value => '1',
  }
  sysctl::value {
    'net.ipv4.tcp_max_syn_backlog':  value  => '4096',
  }
  sysctl::value {
    'net.core.netdev_max_backlog' :  value => '2048',
  }
  sysctl::value {
    'net.ipv4.tcp_fin_timeout':  value => '15',
  }
  sysctl::value {
    'net.ipv4.tcp_tw_reuse': value => '1',
  }
  sysctl::value {
    'net.ipv4.tcp_tw_recycle': value => '1',
 }

客户端配置

[main]
    logdir = /var/log/puppet
    rundir = /var/run/puppet
    ssldir = $vardir/ssl
    server = terry-test-uq2pu.vclound.com
[agent]
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig

客户端连接服务器方法

[root@terryzeng-gz-qa-dns-d4yzu ~]# puppet agent -t
Warning: Setting modulepath is deprecated in puppet.conf. See http://links.puppetlabs.com/env-settings-deprecations
   (at /usr/lib/ruby/site_ruby/1.8/puppet/settings.rb:1095:in `issue_deprecations')
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Caching catalog for terryzeng-gz-qa-dns-d4yzu.vclound.com
Info: Applying configuration version '1485076119'
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_max_syn_backlog]/Sysctl[net.ipv4.tcp_max_syn_backlog]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_max_syn_backlog]/Exec[exec_sysctl_net.ipv4.tcp_max_syn_backlog]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_recycle]/Sysctl[net.ipv4.tcp_tw_recycle]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_recycle]/Exec[exec_sysctl_net.ipv4.tcp_tw_recycle]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_reuse]/Sysctl[net.ipv4.tcp_tw_reuse]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_tw_reuse]/Exec[exec_sysctl_net.ipv4.tcp_tw_reuse]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.ip_forward]/Sysctl[net.ipv4.ip_forward]/val: val changed '0' to '1'
Notice: /Stage[main]/Main/Sysctl::Value[net.core.netdev_max_backlog]/Sysctl[net.core.netdev_max_backlog]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.core.netdev_max_backlog]/Exec[exec_sysctl_net.core.netdev_max_backlog]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_fin_timeout]/Sysctl[net.ipv4.tcp_fin_timeout]/ensure: created
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.tcp_fin_timeout]/Exec[exec_sysctl_net.ipv4.tcp_fin_timeout]/returns: executed successfully
Notice: /Stage[main]/Main/Sysctl::Value[net.ipv4.ip_forward]/Exec[exec_sysctl_net.ipv4.ip_forward]/returns: executed successfully
Notice: Finished catalog run in 0.98 seconds

验证客户端 sysctl.conf 配置

验证配置文件

[root@terryzeng-gz-qa-dns-d4yzu ~]# grep -v "#" /etc/sysctl.conf  | grep -v ^$
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.default.accept_source_route=0
kernel.sysrq=0
kernel.core_uses_pid=1
net.ipv4.tcp_syncookies=1
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0
kernel.msgmnb=65536
kernel.msgmax=65536
kernel.shmmax=68719476736
kernel.shmall=4294967296
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.core.netdev_max_backlog=2048
net.ipv4.tcp_fin_timeout=15

说明:

服务器端 terry-sysctl.pp 已经定义的配置
    对客户端 sysctl.conf 中原来没有的配置项会进行新增动作
    对客户端 sysctl.conf 中原来已经的配置项会进行修改动作
服务器端 terry-sysctl.pp 没有定义的配置
    对客户端 sysctl.conf 中原来已经拥有的配置, 不进行任何修改操作

验证客户端内核当前配置

[root@terryzeng-gz-qa-dns-d4yzu ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@terryzeng-gz-qa-dns-d4yzu ~]# cat /proc/sys/net/core/netdev_max_backlog
2048
[root@terryzeng-gz-qa-dns-d4yzu ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout
15

说明

在修改 /etc/sysctl.conf 配置同时也一并对内核当前配置进行修改
目录
相关文章
|
24天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
48 3
|
安全 Linux 网络协议
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [root@puppet ~]# tree /etc/puppe...
1113 0
|
网络协议 安全 网络安全
|
Perl 存储 数据挖掘
|
网络安全 Ruby 网络协议