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

Fullnat support pool of local IP addresses assigned to local network interface as source IP #684

Open
vincentmli opened this issue May 27, 2024 · 1 comment
Labels
enhancement New feature or request status:planning

Comments

@vincentmli
Copy link

Is your feature request related to a problem? Please describe.

In traditional load balancer, SNAT could choose local IP addresses created/assigned to local network interface, it has two main benefits as far as I know:

  1. local backend server/endpoint gateway pointed to the load balancer local network ip, when deploy load balancer, no need to change backend server/endpoint gateway IP

  2. select pool of local IP addresses can increase concurrent connection to backend server > 64k since 4 tuples concurrent connection is limited to 64k

now loxilb only support one arm deployment with assigned IP address on interface as SNAT source ip.

Describe the solution you'd like

Maybe create a bpf map with pool of IP addresses which are also assigned to local network interface, when doing SNAT, loxilb could round robin select the IP in the pool of IP addresses as source ip for each connection

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context

ipfire user https://community.ipfire.org/t/can-the-ipfire-support-bi-directional-nat/11645 expressed similar request, bpfire with loxilb could meet this requirement with eBPF technology instead of traditional netfilter SNAT/DNAT.

@vincentmli vincentmli added the enhancement New feature or request label May 27, 2024
@vincentmli
Copy link
Author

in loxilb HA environment, this pool of IP addresses can be "floating" IP addresses in HA, meaning this pool of IP addresses follows the active loxilb unit and get assigned to the active loxilb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request status:planning
Projects
None yet
Development

No branches or pull requests

2 participants