[PR #804] [MERGED] Feat firewall controller nftables #13019

Closed
opened 2026-08-05 02:07:16 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/804
Author: @gigovich
Created: 4/12/2023
Status: Merged
Merged: 4/17/2023
Merged by: @gigovich

Base: feat-linux-firewall-supportHead: feat-firewall-controller-nftables


📝 Commits (10+)

  • 41b56bd Update protocol to add FirewallRule
  • 742c259 Add logic layer for the ACL firewall rules management.
  • 1e74bde Refactor protocol handling for firewall rules, add engine tests
  • e73c1dc Add default firewall rules and fix tests in the github flow.
  • 4684d0e Add nftables manager implementation for firewall
  • 1d1f50d WIP: nftables implementation for firewall manager
  • e944316 Add rule to the nftables AddFiltering method
  • 0118b66 Add nftables manager common test. Update iptables test
  • 60a97ca Fix mutex usage
  • 4e56b35 Add docker testing workflow

📊 Changes

8 files changed (+526 additions, -69 deletions)

View changed files

📝 .github/workflows/golang-test-linux.yml (+6 -0)
📝 client/firewall/iptables/manager_linux_test.go (+17 -44)
client/firewall/nftables/manager_linux.go (+349 -0)
client/firewall/nftables/manager_linux_test.go (+90 -0)
client/firewall/nftables/rule_linux.go (+16 -0)
📝 client/internal/engine.go (+39 -14)
📝 client/internal/engine_test.go (+0 -6)
📝 client/internal/firewall_linux.go (+9 -5)

📄 Description

Describe your changes

Add nftables firewall manager for client

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/804 **Author:** [@gigovich](https://github.com/gigovich) **Created:** 4/12/2023 **Status:** ✅ Merged **Merged:** 4/17/2023 **Merged by:** [@gigovich](https://github.com/gigovich) **Base:** `feat-linux-firewall-support` ← **Head:** `feat-firewall-controller-nftables` --- ### 📝 Commits (10+) - [`41b56bd`](https://github.com/netbirdio/netbird/commit/41b56bdb5d464eba310a3849f40f200fc1ccdc74) Update protocol to add FirewallRule - [`742c259`](https://github.com/netbirdio/netbird/commit/742c2595ffccbad273ccf02b186bf80cc960539d) Add logic layer for the ACL firewall rules management. - [`1e74bde`](https://github.com/netbirdio/netbird/commit/1e74bde7ac398a4aa9a4c9e097dfe840feaca472) Refactor protocol handling for firewall rules, add engine tests - [`e73c1dc`](https://github.com/netbirdio/netbird/commit/e73c1dc27ca67f4d045e8fc611dc436ed9d2504e) Add default firewall rules and fix tests in the github flow. - [`4684d0e`](https://github.com/netbirdio/netbird/commit/4684d0edb6ebf19c9cfa3a74766eff4d882c4f56) Add nftables manager implementation for firewall - [`1d1f50d`](https://github.com/netbirdio/netbird/commit/1d1f50d53d8ee193136dd0c64507d25acc73ede7) WIP: nftables implementation for firewall manager - [`e944316`](https://github.com/netbirdio/netbird/commit/e94431633048ba161419aff00aa6ee7ca9166ac5) Add rule to the nftables AddFiltering method - [`0118b66`](https://github.com/netbirdio/netbird/commit/0118b66f275b3d89395504f153008b78d942839e) Add nftables manager common test. Update iptables test - [`60a97ca`](https://github.com/netbirdio/netbird/commit/60a97cace405515ac73b58d4400ab27e1d08fbff) Fix mutex usage - [`4e56b35`](https://github.com/netbirdio/netbird/commit/4e56b3568a2aa9bbb94ddb156e9a470e819c189c) Add docker testing workflow ### 📊 Changes **8 files changed** (+526 additions, -69 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/golang-test-linux.yml` (+6 -0) 📝 `client/firewall/iptables/manager_linux_test.go` (+17 -44) ➕ `client/firewall/nftables/manager_linux.go` (+349 -0) ➕ `client/firewall/nftables/manager_linux_test.go` (+90 -0) ➕ `client/firewall/nftables/rule_linux.go` (+16 -0) 📝 `client/internal/engine.go` (+39 -14) 📝 `client/internal/engine_test.go` (+0 -6) 📝 `client/internal/firewall_linux.go` (+9 -5) </details> ### 📄 Description ## Describe your changes Add nftables firewall manager for client ## Issue ticket number and link ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 02:07:16 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#13019