]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/snmpd/recipes/default.rb
Port custom firewall rule to nftables
[chef.git] / cookbooks / snmpd / recipes / default.rb
index b5bccce4be4fbdbb97df675acef1de42ed9e82b5..6fc4a36aac8e7e401022c7c2b5a544c919afaa2c 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,20 +23,20 @@ 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
 
+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
@@ -46,7 +46,7 @@ if node[:snmpd][:clients]
       dest "fw"
       proto "udp"
       dest_ports "snmp"
-      source_ports "1024:"
+      source_ports "1024-65535"
     end
   end
 else
@@ -57,6 +57,30 @@ else
     dest "fw"
     proto "udp"
     dest_ports "snmp"
-    source_ports "1024:"
+    source_ports "1024-65535"
+  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-65535"
+    end
+  end
+else
+  firewall_rule "accept-snmp" do
+    action :accept
+    family "inet6"
+    source "net"
+    dest "fw"
+    proto "udp"
+    dest_ports "snmp"
+    source_ports "1024-65535"
   end
 end