Commit Graph

328 Commits

Author SHA1 Message Date
2691e729cd fix ssh 2023-06-23 12:20:14 +02:00
774d8e955c Fix disabled DNS resolver fail (#978)
Fix fail of DNS when it disabled in the settings
2023-06-22 16:59:21 +04:00
c20f98c8b6 ACL firewall manager fix/improvement (#970)
* ACL firewall manager fix/improvement

Fix issue with rule squashing, it contained issue when calculated
total amount of IPs in the Peer map (doesn't included offline peers).
That why squashing not worked.
Also this commit changes the rules apply behaviour. Instead policy:
1. Apply all rules from network map
2. Remove all previous applied rules
We do:
1. Apply only new rules
2. Remove outdated rules
Why first variant was implemented: because when you have drop policy
it is important in which order order you rules are and you need totally
clean previous state to apply the new. But in the release we didn't
include drop policy so we can do this improvement.

* Print log message about processed ACL rules
2023-06-20 20:33:41 +02:00
20ae540fb1 Fix the stop procedure in DefaultDns (#971) 2023-06-20 20:33:26 +02:00
dd29f4c01e Reduce the peer status notifications (#956)
Reduce the peer status notifications

When receive new network map invoke multiple notifications for 
every single peers. It cause high cpu usage We handle the in a 
batch the peer notification in update network map.

- Remove the unnecessary UpdatePeerFQDN calls in addNewPeer
- Fix notification in RemovePeer function
- Involve FinishPeerListModifications logic
2023-06-19 11:20:34 +02:00
cb7ecd1cc4 Merge pull request #945 from netbirdio/feat/refactor_route_adding_in_client
Refactor check logic when adding routes
2023-06-19 10:16:22 +02:00
a4350c19e7 Fix: Skip state notification should use a copy of the previous peer state (#960)
This was affecting the behavior of the route manager,
causing issues with HA and with cases of flaky connections
2023-06-17 09:03:52 +02:00
f1b38dbe80 Fix/dns initialization (#954)
The systemd HostManagers require valid, initialized network interface
2023-06-15 12:25:18 +02:00
042f124702 Use different initialize order for DNS resolver in android/nonandroid clients (#952) 2023-06-13 09:20:29 +02:00
b5d8142705 test windows 2023-06-12 16:22:53 +02:00
f45eb1a1da test windows 2023-06-12 16:12:24 +02:00
2567006412 test windows 2023-06-12 16:01:06 +02:00
b92107efc8 test windows 2023-06-12 15:38:47 +02:00
5d19811331 test windows 2023-06-12 15:26:28 +02:00
697d41c94e test windows 2023-06-12 15:14:51 +02:00
75d541f967 test windows 2023-06-12 14:56:30 +02:00
481465e1ae Feature/android dns (#943)
Support DNS feature on mobile systems

---------

Co-authored-by: Givi Khojanashvili <gigovich@gmail.com>
2023-06-12 14:43:55 +02:00
7dfbb71f7a test windows 2023-06-12 12:49:21 +02:00
a5d14c92ff test windows 2023-06-12 12:16:00 +02:00
ce091ab42b test windows 2023-06-12 11:43:18 +02:00
d2fad1cfd9 testing windows 2023-06-12 11:06:49 +02:00
c331cef242 Remove the number of status notifications on disconnected peers (#946)
Only send notifications when disconnected once, at peer's IP update
2023-06-11 21:51:33 +02:00
0b5594f145 testing windows 2023-06-09 19:17:26 +02:00
9beaa91db9 testing windows 2023-06-09 19:15:39 +02:00
c8b4c08139 split systemops for operating systems and add linux 2023-06-09 18:48:21 +02:00
dad5501a44 split systemops for operating systems and add linux 2023-06-09 18:40:35 +02:00
1ced2462c1 split systemops for operating systems and add linux 2023-06-09 18:36:49 +02:00
64adaeb276 split systemops for operating systems and add linux 2023-06-09 18:30:36 +02:00
6e26d03fb8 split systemops for operating systems and add linux 2023-06-09 18:27:09 +02:00
493ddb4fe3 Revert "hacky all-operating-systems solution"
This reverts commit 75fac258e7.
2023-06-09 17:59:06 +02:00
75fac258e7 hacky all-operating-systems solution 2023-06-09 17:40:10 +02:00
bc8ee8fc3c add tests 2023-06-09 16:18:48 +02:00
3724323f76 test still failing 2023-06-09 15:33:22 +02:00
3ef33874b1 change checks before route adding to not only check for default gateway (test missing) 2023-06-09 12:35:57 +02:00
a0296f7839 Eliminate default trace log level on Mobile (#942) 2023-06-09 09:55:31 +02:00
1d9feab2d9 Feat fake dns address (#902)
Works only with userspace implementation:
1. Configure host to solve DNS requests via a fake DSN server address in the Netbird network.
2. Add to firewall catch rule for these DNS requests.
3. Resolve these DNS requests and respond by writing directly to wireguard device.
2023-06-08 13:46:57 +04:00
ef59001459 Fix routes allow acl rule (#940)
Modify rules in iptables and nftables to accept all traffic not from netbird network but routed through it.
2023-06-07 15:24:27 +02:00
93608ae163 Remove unused field from peer state (#939)
On mobile system the direct flag is unused
2023-06-07 11:32:49 +02:00
f2df8f31cb Import go mobile bind at the android package level (#935) 2023-06-05 17:28:13 +02:00
dd69c1cd31 Struct Engine has methods on both value (#934)
Struct Engine has methods on both value and pointer receivers.
Such usage is not recommended by the Go Documentation.
2023-06-05 15:34:22 +02:00
5507e1f7a5 Add SSH accept rule on the client (#924) 2023-06-02 15:26:33 +04:00
4cd9ccb493 Squash firewall rules by protocoll if they affects all peers (#921) 2023-06-02 10:14:47 +04:00
1939973c2e Use by default nftables on the linux systems (#922) 2023-06-01 19:51:13 +04:00
3e9b46f8d8 Prevent peer updates on flapping status and fix route score logic (#920)
Prevent peer updates if the status is not changing from disconnected to connected and vice versa.

Fixed route score calculation, added tests and changed the log message

fixed installer /usr/local/bin creation
2023-06-01 16:00:44 +02:00
293499c3c0 Extend protocol and firewall manager to handle old management (#915)
* Extend protocol and firewall manager to handle old management

* Send correct empty firewall rules list when delete peer

* Add extra tests for firewall manager and uspfilter

* Work with inconsistent state

* Review note

* Update comment
2023-05-31 19:04:38 +02:00
45a6263adc Feature/android route notification (#868)
Add new feature to notify the user when new client route has arrived.
Refactor the initial route handling. I move every route logic into the route
manager package.

* Add notification management for client rules
* Export the route notification for Android
* Compare the notification based on network range instead of id.
2023-05-31 18:25:24 +02:00
6425eb6732 Revert "setting cli flags to proper commands (#860)" (#916)
This reverts commit 0fa3abbec0.
2023-05-31 16:06:42 +02:00
ba7a39a4fc Feat linux firewall support (#805)
Update the client's engine to apply firewall rules received from the manager (results of ACL policy).
2023-05-29 16:00:18 +02:00
0fa3abbec0 setting cli flags to proper commands (#860) 2023-05-29 13:52:22 +02:00
460cb34d80 Add force relay conn env var for debug purpose (#904)
Add force relay conn env var for debug purpose.
Move another conn related env settings into a common go file.
2023-05-29 13:50:40 +02:00