]> git.openstreetmap.org Git - chef.git/commitdiff
Enable rate limits
authorTom Hughes <tom@compton.nu>
Sun, 5 Mar 2023 17:28:14 +0000 (17:28 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 5 Mar 2023 17:28:14 +0000 (17:28 +0000)
cookbooks/networking/resources/firewall_rule.rb
cookbooks/networking/templates/default/nftables.conf.erb

index 665c0cb84ee9d279f3e65241e12b7777045e57dd..218a6b5f482a7de4bf3f2ca851067e6702cfaf4a 100644 (file)
@@ -141,15 +141,15 @@ action_class do
       rule << "add @#{set} { #{ip} saddr ct count #{new_resource.connection_limit} }"
     end
 
-    if new_resource.rate_limit =~ %r{^s:(\d+)/sec:(\d+)$}
-    #   set = "#{new_resource.rule}-#{ip}"
-      rate = Regexp.last_match(1)
-      burst = Regexp.last_match(2)
-    #
-      node.default[:networking][:firewall][:sets] << set
-    #
-      rule << "add @#{set} { #{ip} saddr limit rate #{rate}/second burst #{burst} packets }"
-    end
+    if new_resource.rate_limit =~ %r{^s:(\d+)/sec:(\d+)$}
+      set = "ratelimit-#{new_resource.rule}-#{ip}"
+      rate = Regexp.last_match(1)
+      burst = Regexp.last_match(2)
+
+      node.default[:networking][:firewall][:sets] << set
+
+      rule << "add @#{set} { #{ip} saddr limit rate #{rate}/second burst #{burst} packets }"
+    end
 
     rule << case action
             when :accept then "accept"
index 2545c97c868c733d8b2052e9aa11be0d53a3d0da..140510c36dba624ea1024ade4d83f7b3508fe8d4 100644 (file)
@@ -32,12 +32,12 @@ table inet filter {
     flags dynamic
   }
 
-  set limit-icmp-echo-ip {
+  set ratelimit-icmp-echo-ip {
     type ipv4_addr
     flags dynamic
   }
 
-  set limit-icmp-echo-ip6 {
+  set ratelimit-icmp-echo-ip6 {
     type ipv6_addr
     flags dynamic
   }
@@ -77,11 +77,11 @@ table inet filter {
     ct state { established, related } accept
 
     icmp type { destination-unreachable } accept
-    icmp type { echo-request } add @limit-icmp-echo-ip { ip saddr limit rate 1/second } accept
+    icmp type { echo-request } add @ratelimit-icmp-echo-ip { ip saddr limit rate 1/second } accept
     icmp type { echo-request } drop
 
     icmpv6 type { nd-neighbor-solicit, nd-neighbor-advert, nd-router-solicit, nd-router-advert } accept
-    icmpv6 type { echo-request } add @limit-icmp-echo-ip6 { ip6 saddr limit rate 1/second } accept
+    icmpv6 type { echo-request } add @ratelimit-icmp-echo-ip6 { ip6 saddr limit rate 1/second } accept
     icmpv6 type { echo-request } drop
 
     meta l4proto { icmp, icmpv6 } jump log-and-drop