[PR #751] [CLOSED] Use ACL generated firewall rules for peer in the client. #14179

Open
opened 2026-08-05 02:09:32 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/751
Author: @gigovich
Created: 3/21/2023
Status: Closed

Base: mainHead: feat-client-side-acl


📝 Commits (10+)

  • 07e4161 Initial implementation of the firewall common manager for client.
  • 57ac796 Add test for iptables firewall manager
  • e36563c Use arch suffix to build iptables manager
  • 7831b3d Use string types in the Rule as ID
  • 9ab2fd1 Update protocol to add FirewallRule
  • 64bf769 Add logic layer for the ACL firewall rules management.
  • 559cf28 Fix non-port based rules processing. Add rules clean up call.
  • 0abd05d Fix direction for firewall rule
  • 64ad771 Refactor protocol handling for firewall rules, add engine tests
  • 9eb5de6 Fix docker build

📊 Changes

15 files changed (+665 additions, -128 deletions)

View changed files

📝 .github/workflows/golang-test-linux.yml (+2 -2)
📝 client/firewall/firewall.go (+4 -0)
📝 client/firewall/iptables/manager_linux.go (+128 -38)
📝 client/firewall/iptables/manager_linux_test.go (+13 -7)
📝 client/firewall/port.go (+9 -9)
📝 client/internal/engine.go (+102 -1)
📝 client/internal/engine_test.go (+136 -0)
client/internal/firewall.go (+14 -0)
client/internal/firewall_linux.go (+18 -0)
📝 management/proto/management.pb.go (+180 -55)
📝 management/proto/management.proto (+14 -1)
📝 management/server/account.go (+7 -6)
📝 management/server/grpcserver.go (+3 -0)
📝 management/server/network.go (+6 -5)
📝 management/server/policy.go (+29 -4)

📄 Description

Describe your changes

Update the client's engine to apply firewall rules received from the manager (results of Rego ACL policy execution).

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/751 **Author:** [@gigovich](https://github.com/gigovich) **Created:** 3/21/2023 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat-client-side-acl` --- ### 📝 Commits (10+) - [`07e4161`](https://github.com/netbirdio/netbird/commit/07e4161cea7181d6373e2f16c5a77ffcba47b58e) Initial implementation of the firewall common manager for client. - [`57ac796`](https://github.com/netbirdio/netbird/commit/57ac796e5d197d4074717dde11f60a2c16e29c14) Add test for iptables firewall manager - [`e36563c`](https://github.com/netbirdio/netbird/commit/e36563c35a16451c5d54a3c16689efe0b59a8b9a) Use arch suffix to build iptables manager - [`7831b3d`](https://github.com/netbirdio/netbird/commit/7831b3d367c54dea2172ef238710e24392447f7b) Use string types in the Rule as ID - [`9ab2fd1`](https://github.com/netbirdio/netbird/commit/9ab2fd1340f4b58f7c46696589de4d5eec306384) Update protocol to add FirewallRule - [`64bf769`](https://github.com/netbirdio/netbird/commit/64bf7699e6058bd2fdde20bf35e8e5df7de818eb) Add logic layer for the ACL firewall rules management. - [`559cf28`](https://github.com/netbirdio/netbird/commit/559cf2862febb810b386f37f1e3a26019ca1d803) Fix non-port based rules processing. Add rules clean up call. - [`0abd05d`](https://github.com/netbirdio/netbird/commit/0abd05d51e3de37a35aaa2e28fe8e67e540e8b2b) Fix direction for firewall rule - [`64ad771`](https://github.com/netbirdio/netbird/commit/64ad771099a92e221b895e3339484921d8580284) Refactor protocol handling for firewall rules, add engine tests - [`9eb5de6`](https://github.com/netbirdio/netbird/commit/9eb5de6d62f553579a0e9a8e30f3152253fa22a7) Fix docker build ### 📊 Changes **15 files changed** (+665 additions, -128 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/golang-test-linux.yml` (+2 -2) 📝 `client/firewall/firewall.go` (+4 -0) 📝 `client/firewall/iptables/manager_linux.go` (+128 -38) 📝 `client/firewall/iptables/manager_linux_test.go` (+13 -7) 📝 `client/firewall/port.go` (+9 -9) 📝 `client/internal/engine.go` (+102 -1) 📝 `client/internal/engine_test.go` (+136 -0) ➕ `client/internal/firewall.go` (+14 -0) ➕ `client/internal/firewall_linux.go` (+18 -0) 📝 `management/proto/management.pb.go` (+180 -55) 📝 `management/proto/management.proto` (+14 -1) 📝 `management/server/account.go` (+7 -6) 📝 `management/server/grpcserver.go` (+3 -0) 📝 `management/server/network.go` (+6 -5) 📝 `management/server/policy.go` (+29 -4) </details> ### 📄 Description ## Describe your changes Update the client's engine to apply firewall rules received from the manager (results of Rego ACL policy execution). ## Issue ticket number and link ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [x] It is a refactor - [x] 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:09:32 -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#14179