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

[client] Add experimental support for userspace routing #3134

Merged
merged 72 commits into from
Feb 7, 2025
Merged
Changes from 1 commit
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
4199da4
Add userspace routing
lixmal Dec 26, 2024
b43a8c5
Update wireguard-go ref
lixmal Dec 30, 2024
fad82ee
Add stop methods and improve udp implementation
lixmal Dec 30, 2024
d261654
Add logger
lixmal Dec 30, 2024
6a97d44
Improve udp implementation
lixmal Dec 30, 2024
9feaa8d
Add icmp forwarder
lixmal Dec 30, 2024
fb1a107
Fix lint and test issues
lixmal Dec 31, 2024
509b4e2
Lower udp timeout and add teardown messages
lixmal Dec 31, 2024
ed22d79
Add more control with env vars, also allow to pass traffic to native …
lixmal Jan 2, 2025
a12a9ac
Handle all local IPs
lixmal Jan 2, 2025
7667886
Add more tcp logging
lixmal Jan 2, 2025
d85e57e
Handle other icmp types in forwarder
lixmal Jan 2, 2025
657413b
Move icmp acceptance logic
lixmal Jan 2, 2025
fa27369
Fix linter issues
lixmal Jan 2, 2025
c3c6afa
Merge branch 'main' into userspace-router
lixmal Jan 2, 2025
2b8092d
Close endpoints
lixmal Jan 2, 2025
911f86d
Support local IPs in netstack mode
lixmal Jan 2, 2025
568d064
Drop certain forwarded icmp packets
lixmal Jan 2, 2025
e912f2d
Fix double close in logger
lixmal Jan 2, 2025
f772a21
Fix log level handling
lixmal Jan 2, 2025
0b9854b
Fix tests
lixmal Jan 2, 2025
2930288
Fix test expectation
lixmal Jan 2, 2025
88b420d
Remove linux restriction
lixmal Jan 2, 2025
0c2fa38
Exclude benchmark from CI
lixmal Jan 3, 2025
d711172
Fix benchmarks
lixmal Jan 3, 2025
9490e90
Reduce complexity
lixmal Jan 3, 2025
955b2b9
Complete route ACLs and add tests
lixmal Jan 3, 2025
fc799ef
Set log level from logrus
lixmal Jan 3, 2025
c68be6b
Remove fractions of seconds
lixmal Jan 3, 2025
979fe6b
Reduce complexity and fix linter issues
lixmal Jan 3, 2025
3ce3990
Merge branch 'main' into userspace-router
lixmal Jan 3, 2025
f26b418
Allow to set firewall log level
lixmal Jan 3, 2025
a6ad4dc
Close endpoint when stopping udp forwarder
lixmal Jan 3, 2025
62a20f5
Add local IPs test
lixmal Jan 3, 2025
f69dd6f
Make extra IPs from interfaces optional
lixmal Jan 3, 2025
0b116b3
Use native firewall for nat/firewall operations if available
lixmal Jan 3, 2025
eaadb75
Add env var to force userspace routing if native routing is available
lixmal Jan 3, 2025
7dfe7e4
Always use userspace routing in netstack mode
lixmal Jan 3, 2025
766e0cc
Add packet tracer
lixmal Jan 3, 2025
474fb33
Remove established field from udp and icmp (unused)
lixmal Jan 4, 2025
290e699
Demote close error levels
lixmal Jan 5, 2025
fe7a2aa
Fix test
lixmal Jan 5, 2025
4a189a8
Use MTU for udp max size
lixmal Jan 6, 2025
5ea39df
Adjust limits for iOS
lixmal Jan 6, 2025
2060242
Merge branch 'main' into userspace-router
lixmal Jan 7, 2025
28f5cd5
Merge branch 'main' into userspace-router
lixmal Jan 8, 2025
daf9359
Handle disable-server-routes flag in userspace router
lixmal Jan 9, 2025
6335ef8
Correct comment
lixmal Jan 9, 2025
706f98c
Improve routing decision logic
lixmal Jan 9, 2025
01957a3
Merge branch 'main' into userspace-router
lixmal Jan 10, 2025
af46f25
Block wg net forwarded traffic
lixmal Jan 10, 2025
d31543c
Enable ssh server on freebsd
lixmal Jan 11, 2025
648b22a
Fix listening in netstack mode
lixmal Jan 11, 2025
8430c37
Fix panic if login cmd fails
lixmal Jan 11, 2025
1296ecf
Tidy up go mod
lixmal Jan 11, 2025
1c00870
Merge branch 'allow-ssh-server-freebsd' into userspace-router
lixmal Jan 11, 2025
a625f90
Merge branch 'main' into userspace-router
lixmal Jan 14, 2025
8dce131
Disable local forwarding in netstack mode by default for security rea…
lixmal Jan 14, 2025
ea6c947
Merge branch 'main' into userspace-router
lixmal Jan 15, 2025
22991b3
Process drop rules first (#3167)
lixmal Jan 15, 2025
77afcc8
Merge branch 'main' into userspace-router
lixmal Jan 15, 2025
21a3679
Fix regression
lixmal Jan 15, 2025
9b5c043
Make debug ops a bit safer
lixmal Jan 16, 2025
862d548
Support port ranges
lixmal Jan 23, 2025
b951fb4
Use uppercase field name
lixmal Jan 23, 2025
da43d33
Merge branch 'port-range-acl' into userspace-router
lixmal Jan 23, 2025
e3d4f98
Add test cases for port ranges in peer ACLs
lixmal Jan 23, 2025
0837864
Fix port
lixmal Jan 23, 2025
a0ca3ed
Merge branch 'port-range-acl' into userspace-router
lixmal Jan 23, 2025
4d635e3
Merge branch 'main' into userspace-router
lixmal Jan 29, 2025
48f58d7
Treat the whole localhost range as local IPs
lixmal Jan 29, 2025
19178b5
Merge branch 'main' into userspace-router
lixmal Feb 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix test expectation
  • Loading branch information
lixmal committed Jan 2, 2025
commit 2930288f2d5d553a366cddf3c47b268eb74979e8
2 changes: 2 additions & 0 deletions client/internal/acl/manager_test.go
Original file line number Diff line number Diff line change
@@ -49,6 +49,7 @@ func TestDefaultManager(t *testing.T) {
IP: ip,
Network: network,
}).AnyTimes()
ifaceMock.EXPECT().GetWGDevice().Return(nil).AnyTimes()

// we receive one rule from the management so for testing purposes ignore it
fw, err := firewall.NewFirewall(ifaceMock, nil)
@@ -342,6 +343,7 @@ func TestDefaultManagerEnableSSHRules(t *testing.T) {
IP: ip,
Network: network,
}).AnyTimes()
ifaceMock.EXPECT().GetWGDevice().Return(nil).AnyTimes()

// we receive one rule from the management so for testing purposes ignore it
fw, err := firewall.NewFirewall(ifaceMock, nil)
Loading