X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/18e12b0e123fc3e5f344682f884feabc12da0f5a..2915ebac652fcc0521325cf1aae5a2f56f792549:/cookbooks/snmpd/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/snmpd/recipes/default.rb b/cookbooks/snmpd/recipes/default.rb index fd852357f..26ae86b78 100644 --- a/cookbooks/snmpd/recipes/default.rb +++ b/cookbooks/snmpd/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: snmpd +# Cookbook:: snmpd # Recipe:: default # -# Copyright 2013, OpenStreetMap Foundation +# Copyright:: 2013, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -23,25 +23,61 @@ communities = data_bag_item("snmpd", "communities") package "snmpd" -service "snmpd" do - action [:enable, :start] - supports :status => true, :restart => true -end - template "/etc/snmp/snmpd.conf" do source "snmpd.conf.erb" owner "root" group "root" - mode 0o600 + mode "600" variables :communities => communities notifies :restart, "service[snmpd]" end -node[:snmpd][:clients].each do |address| +service "snmpd" do + action [:enable, :start] + supports :status => true, :restart => true +end + +if node[:snmpd][:clients] + node[:snmpd][:clients].each do |address| + firewall_rule "accept-snmp" do + action :accept + family "inet" + source "net:#{address}" + dest "fw" + proto "udp" + dest_ports "snmp" + source_ports "1024:" + end + end +else firewall_rule "accept-snmp" do action :accept family "inet" - source "net:#{address}" + source "net" + dest "fw" + proto "udp" + dest_ports "snmp" + source_ports "1024:" + end +end + +if node[:snmpd][:clients6] + node[:snmpd][:clients6].each do |address| + firewall_rule "accept-snmp" do + action :accept + family "inet6" + source "net:#{address}" + dest "fw" + proto "udp" + dest_ports "snmp" + source_ports "1024:" + end + end +else + firewall_rule "accept-snmp" do + action :accept + family "inet6" + source "net" dest "fw" proto "udp" dest_ports "snmp"