Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat linux firewall support #805

Merged
merged 39 commits into from May 29, 2023
Merged

Feat linux firewall support #805

merged 39 commits into from May 29, 2023

Conversation

gigovich
Copy link
Contributor

Describe your changes

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

Issue ticket number and link

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

Copy link
Collaborator

@mlsmaycon mlsmaycon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added some comments to check after PRs 804 and 799 are merged

client/firewall/iptables/manager_linux.go Outdated Show resolved Hide resolved
client/firewall/iptables/manager_linux.go Show resolved Hide resolved
client/internal/engine.go Outdated Show resolved Hide resolved
management/proto/management.proto Show resolved Hide resolved
@gigovich gigovich force-pushed the feat-linux-firewall-support branch 3 times, most recently from 9e3613b to b480eff Compare April 24, 2023 09:52
@gigovich gigovich force-pushed the feat-linux-firewall-support branch from 6774765 to 16c3f1a Compare April 24, 2023 13:02
@gigovich gigovich force-pushed the feat-linux-firewall-support branch from bbd8fe7 to 091c1c5 Compare May 3, 2023 14:58
pappz
pappz previously requested changes May 5, 2023
client/internal/acl/manager.go Outdated Show resolved Hide resolved
gigovich and others added 12 commits May 18, 2023 12:37
Userspace packet filtering
* Fix already migrated from rules policies

* fix lint comment

---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
* Use enum in proto and in out directions

renamed test object IDs making more readable

* Refactor rule direction and rename methods with in/out directions

use RW mutex for device wrapper

decoupled manager grpc protocol parsers

extracted add rule calls

Added unknown action and protocol consts

* exit on proto all, fixed rw mutex locks

renamed filter methods and port checks

* add performance tests for nftables and iptables

fix failed tests

* limit create performance test to 1000 and add uspfilter test
* Remove unused peer id from firewall proto message

* fix failing tests
 Use sync pool of decoders to handle async filtering
…upport

# Conflicts:
#	go.mod
#	go.sum
#	iface/tun_windows.go
#	management/server/http/api/openapi.yml
#	management/server/http/api/types.gen.go
@braginini braginini self-requested a review May 29, 2023 13:59
@braginini braginini merged commit ba7a39a into main May 29, 2023
12 checks passed
@braginini braginini deleted the feat-linux-firewall-support branch May 29, 2023 14:00
pulsastrix pushed a commit to pulsastrix/netbird that referenced this pull request Dec 24, 2023
Update the client's engine to apply firewall rules received from the manager (results of ACL policy).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants