]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/snmpd/recipes/default.rb
Document IP ranges with comment
[chef.git] / cookbooks / snmpd / recipes / default.rb
index fd852357f39518cdc1a3c394d2d93102f84e2764..26ae86b784ef4f9f6a1bd7f9ee4dc129603c7bc0 100644 (file)
@@ -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"