Viktor Liu
7dfe7e426e
Always use userspace routing in netstack mode
2025-01-03 18:38:57 +01:00
Viktor Liu
eaadb75144
Add env var to force userspace routing if native routing is available
2025-01-03 18:02:35 +01:00
Viktor Liu
0b116b3941
Use native firewall for nat/firewall operations if available
2025-01-03 17:52:36 +01:00
Viktor Liu
f69dd6fb62
Make extra IPs from interfaces optional
2025-01-03 16:54:46 +01:00
Viktor Liu
62a20f5f1a
Add local IPs test
2025-01-03 16:50:00 +01:00
Viktor Liu
a6ad4dcf22
Close endpoint when stopping udp forwarder
2025-01-03 16:40:51 +01:00
Viktor Liu
f26b418e83
Allow to set firewall log level
2025-01-03 16:04:00 +01:00
Viktor Liu
979fe6bb6a
Reduce complexity and fix linter issues
2025-01-03 15:43:28 +01:00
Viktor Liu
c68be6b61b
Remove fractions of seconds
2025-01-03 15:18:36 +01:00
Viktor Liu
fc799effda
Set log level from logrus
2025-01-03 15:16:30 +01:00
Viktor Liu
955b2b98e1
Complete route ACLs and add tests
2025-01-03 15:16:23 +01:00
Viktor Liu
9490e9095b
Reduce complexity
2025-01-03 11:50:51 +01:00
Viktor Liu
d711172f67
Fix benchmarks
2025-01-03 11:30:55 +01:00
Viktor Liu
0c2fa38e26
Exclude benchmark from CI
2025-01-03 11:27:52 +01:00
Viktor Liu
0b9854b2b1
Fix tests
2025-01-03 00:01:40 +01:00
Viktor Liu
f772a21f37
Fix log level handling
2025-01-02 19:02:40 +01:00
Viktor Liu
e912f2d7c0
Fix double close in logger
2025-01-02 19:02:40 +01:00
Viktor Liu
568d064089
Drop certain forwarded icmp packets
2025-01-02 19:02:40 +01:00
Viktor Liu
911f86ded8
Support local IPs in netstack mode
2025-01-02 19:02:40 +01:00
Viktor Liu
2b8092dfad
Close endpoints
2025-01-02 16:41:54 +01:00
Viktor Liu
c3c6afa37b
Merge branch 'main' into userspace-router
2025-01-02 16:25:04 +01:00
Viktor Liu
fa27369b59
Fix linter issues
2025-01-02 16:21:03 +01:00
Viktor Liu
657413b8a6
Move icmp acceptance logic
2025-01-02 15:59:53 +01:00
Viktor Liu
d85e57e819
Handle other icmp types in forwarder
2025-01-02 15:59:53 +01:00
Viktor Liu
7667886794
Add more tcp logging
2025-01-02 15:17:53 +01:00
Viktor Liu
a12a9ac290
Handle all local IPs
2025-01-02 14:59:41 +01:00
Viktor Liu
ed22d79f04
Add more control with env vars, also allow to pass traffic to native firewall
2025-01-02 13:40:36 +01:00
Viktor Liu
509b4e2132
Lower udp timeout and add teardown messages
2024-12-31 16:06:17 +01:00
Viktor Liu
fb1a10755a
Fix lint and test issues
2024-12-31 14:38:59 +01:00
Viktor Liu
abbdf20f65
[client] Allow inbound rosenpass port ( #3109 )
2024-12-31 14:08:48 +01:00
Viktor Liu
9feaa8d767
Add icmp forwarder
2024-12-31 12:23:16 +01:00
Viktor Liu
6a97d44d5d
Improve udp implementation
2024-12-31 00:34:05 +01:00
Viktor Liu
d2616544fe
Add logger
2024-12-31 00:34:05 +01:00
Viktor Liu
fad82ee65c
Add stop methods and improve udp implementation
2024-12-30 14:30:53 +01:00
Viktor Liu
4199da4a45
Add userspace routing
2024-12-30 01:38:28 +01:00
Viktor Liu
b3c87cb5d1
[client] Fix inbound tracking in userspace firewall ( #3111 )
...
* Don't create state for inbound SYN
* Allow final ack in some cases
* Relax state machine test a little
2024-12-26 00:51:27 +01:00
Viktor Liu
ad9f044aad
[client] Add stateful userspace firewall and remove egress filters ( #3093 )
...
- Add stateful firewall functionality for UDP/TCP/ICMP in userspace firewalll
- Removes all egress drop rules/filters, still needs refactoring so we don't add output rules to any chains/filters.
- on Linux, if the OUTPUT policy is DROP then we don't do anything about it (no extra allow rules). This is up to the user, if they don't want anything leaving their machine they'll have to manage these rules explicitly.
2024-12-23 18:22:17 +01:00
Viktor Liu
8866394eb6
[client] Don't choke on non-existent interface in route updates ( #2922 )
2024-12-03 15:33:41 +01:00
Viktor Liu
5142dc52c1
[client] Persist route selection ( #2810 )
2024-12-02 17:55:02 +01:00
Viktor Liu
0ecd5f2118
[client] Test nftables for incompatible iptables rules ( #2948 )
2024-11-25 15:11:56 +01:00
Viktor Liu
940d0c48c6
[client] Don't return error in userspace mode without firewall ( #2924 )
2024-11-25 15:11:31 +01:00
Viktor Liu
1bbabf70b0
[client] Fix allow netbird rule verdict ( #2925 )
...
* Fix allow netbird rule verdict
* Fix chain name
2024-11-21 16:53:37 +01:00
Viktor Liu
39329e12a1
[client] Improve state write timeout and abort work early on timeout ( #2882 )
...
* Improve state write timeout and abort work early on timeout
* Don't block on initial persist state
2024-11-13 13:46:00 +01:00
Viktor Liu
509e184e10
[client] Use the prerouting chain to mark for masquerading to support older systems ( #2808 )
2024-11-07 12:37:04 +01:00
Viktor Liu
940f8b4547
[client] Remove legacy forwarding rules in userspace mode ( #2782 )
2024-10-28 12:29:29 +01:00
Viktor Liu
0fd874fa45
[client] Make native firewall init fail firewall creation ( #2784 )
2024-10-28 10:02:27 +01:00
Viktor Liu
8016710d24
[client] Cleanup firewall state on startup ( #2768 )
2024-10-24 14:46:24 +02:00
Viktor Liu
869537c951
[client] Cleanup dns and route states on startup ( #2757 )
2024-10-24 10:53:46 +02:00
Viktor Liu
8c8900be57
[client] Exclude loopback from NAT ( #2747 )
2024-10-16 17:35:59 +02:00
Viktor Liu
3a88ac78ff
[client] Add table filter rules using iptables ( #2727 )
...
This specifically concerns the established/related rule since this one is not compatible with iptables-nft even if it is generated the same way by iptables-translate.
2024-10-12 10:44:48 +02:00