diff mbox series

[bug#49540,1/2] services: nftables: Only manage delete our own table.

Message ID 20210712210823.16987-1-brice@waegenei.re
State New
Headers show
Series services: nftables: Make it extandable | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Brice Waegeneire July 12, 2021, 9:08 p.m. UTC
* gnu/services/networking.scm (%default-nftables-ruleset): Rename table
  from "forward" to "guix".  Clear table before applying before setting
  it up.
(nftables-shepherd-service): Don't flush all the table, just delete our
  own.
---
 gnu/services/networking.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 1ae58041d3..3058c14caf 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -13,7 +13,7 @@ 
 ;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Sou Bunnbu <iyzsong@member.fsf.org>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2021 Christopher Lemmer Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -1717,7 +1717,12 @@  COMMIT
 (define %default-nftables-ruleset
   (plain-file "nftables.conf"
               "# A simple and safe firewall
-table inet filter {
+
+# Start with our table clean of previous state
+add table inet guix
+delete table inet guix
+
+table inet guix {
   chain input {
     type filter hook input priority 0; policy drop;
 
@@ -1768,7 +1773,7 @@  table inet filter {
         (start #~(lambda _
                    (invoke #$nft "--file" #$ruleset)))
         (stop #~(lambda _
-                  (invoke #$nft "flush" "ruleset"))))))))
+                  (invoke #$nft "delete" "table" "inet" "guix"))))))))
 
 (define nftables-service-type
   (service-type