-
Notifications
You must be signed in to change notification settings - Fork 83
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
Support IPv6 port forwarding (libslirp 4.5) #253
Comments
@AkihiroSuda hi, i could as a test get it working but it needs a patch to libslirp as well, as we possibly are listening to ipv4 already the bind with ipv6 has to happen with IPV6_V6ONLY socket option. Another option would be to listen to ipv6 in the guest only, and forward ipv4 there. The guest ipv6 for the forwarding is also hardcoded to fd00::100 because we get the actual random? ip after we are trying to forward the ports, and it would probably need another ready fd or whatever mechanism to get this working on the guest ip. |
Thanks for working on this. |
And I think we want to prioritize IPv6-to-IPv4 forwarding rather than IPv6-to-IPv6 forwarding, although we will eventually need both. |
I saw that and tried to follow it first but I think there is much more work needed for it. Mind me being new to this and probably I got something wrong, that was my experience EDIT: It seems only the Global ID has to be random, the subnet and interface ID dont have to be, right? |
- fix listen address; - list addresses in api call; - --cidr6 parameter; - add test; - fix api test script;
There is a problem when forwarding IPv6 to IPv4, the whole device gets kind of reset, and has no ip addresses anymore Anyway what works so far:
Not sure how to proceed, any input? Also, if somebody wants to take it from here, please just say so and go ahead. |
Signed-off-by: fassl <[email protected]>
…tainers#253 Signed-off-by: fassl <[email protected]>
- fix listen address; - list addresses in api call; - --cidr6 parameter; - add test; - fix api test script; Signed-off-by: fassl <[email protected]>
…ainers#259 Signed-off-by: fassl <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: fassl <[email protected]> IPv6 test ref rootless-containers#253 Signed-off-by: fassl <[email protected]> IPv6: pseudo random id generator rootless-containers#259 rootless-containers#253 Signed-off-by: fassl <[email protected]> IPv6 port forwarding: rootless-containers#259 rootless-containers#253 - fix listen address; - list addresses in api call; - --cidr6 parameter; - add test; - fix api test script; Signed-off-by: fassl <[email protected]> handle protocol version in api: rootless-containers#253 rootless-containers#259 Signed-off-by: fassl <[email protected]> add --ipv6-random flag: rootless-containers#259 Signed-off-by: fassl <[email protected]> use strnXXX functions: rootless-containers#259 Signed-off-by: fassl <[email protected]> try read mac of tap0 and fallback to /dev/Xrandom: rootless-containers#259 Signed-off-by: fassl <[email protected]> man page and bump libslirp veresion: rootless-containers#259 Signed-off-by: fassl <[email protected]> fix Docker builds: rootless-containers#259 Signed-off-by: fassl <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: fassl <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: fassl <[email protected]>
- skip ipv6 tests on old libslirp versions - install openssl-devel on centos box - use *hostfwd functions on old libslirp versions Signed-off-by: fassl <[email protected]>
- fix missing SLIRP_CONFIG_VERSION_MAX in test scripts
- implement forwarding - implement random CIDR Signed-off-by: fassl <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: fassl <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: Jasmin Fazlic <[email protected]>
What is the status of this important issue? |
If there is another way to seamlessly signal the correct remote IP to the inner container and support IPv4 + IPv6 I would appreciate to know the solution. |
Waiting for a PR |
I guess |
That's it, thx. @su-ex |
Little OT, but I have gone this road. I tested So please, I would really like to encourage the devs/maintainers of |
Feel free to submit a PR. |
- implement forwarding - implement random CIDR Signed-off-by: Jasmin Fazlic <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: Jasmin Fazlic <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: Jasmin Fazlic <[email protected]>
- implement forwarding - implement random CIDR Signed-off-by: Jasmin Fazlic <[email protected]>
libslirp@master recently gained support for IPv6 port forwarding.
https://gitlab.freedesktop.org/slirp/libslirp/-/commit/0624fbe7d39b5433d7084a5096d1effc1df74e39
https://gitlab.freedesktop.org/slirp/libslirp/-/merge_requests/75/diffs
slirp4netns should support this.
The text was updated successfully, but these errors were encountered: