-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
podman: IPv6 support #11999
Comments
A friendly reminder that this issue had no activity for 30 days. |
For the first question, yes, For the second question - we require assignment of a routable subnet for v6 use, with your network infrastructure configured appropriately to route the subnet to the system using Podman. The address you're using is going to make it out to the internet as such, and since you're using a ULA that won't work, your traffic will be dropped as a bogon the moment it hits the outside internet. I am very curious as to how this works with KVM - are they doing address translation to mask the ULA addresses? For the third question, updates to iptables and CNI should have fixed this. |
I have a public IPv6 subnet inside of my container. Otherwise my question would make no sense. Example:
For this reason I wrote that I tried to proxy it to my outer network interface: ip -6 neigh add proxy 2a02.:...:5 dev enp6s0 This is exactly what works with kvm but not with podman so I was wondering why this is the case. I have tested this again today and it does not work. Even with the proxy without a NAT rule I cannot reach public IPv6. As I wrote I work with nftables. nftables has replaced iptables and it is not clear to me why docker/podman still prefer iptables. Or maybe I should say: they do not support nftables for whatever reason.. Of course you can write your rules manually and this is what I am doing in general. But regardless of the firewall proxy neighboring should work. |
We are in the process of a complete rewrite of our networking backend, so the nftables problem should be resolved in Podman 4.0 or 4.1. I don't think the v6 experience we improve much in 4.0 as we're still trying to get the basics working, but I expect it will be a priority for Podman 4.1. |
A friendly reminder that this issue had no activity for 30 days. |
IPv6 is looking good in netavark which should come out in 4.0. Closing |
To get rid of that libvirt error, my permanent workaround in Debian 11 (as a host) with libvirtd daemon is to block the loading of iptables-related modules: Create a file in
Post-analysis: Apparently, I had |
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind feature
Description
I have three questions:
I have updated to Fedora 35 with podman 3.4.0 but am still not able to assign static IPv6 addresses to containers.
Did I miss something or is this feature still missing? Maybe yes - I found this:
#7511
So according to this we have to work for podman 4.0.
Also I was not able to reach the container with proxy neighboring. In KVM normally I do something like this (if 2a02.:...:5 is the IPv6 inside the VM and enp6s0 the ethernet NIC on the host):
If the IPv6 address inside the container is given as proxy to the ethernet interface then the container should be reachable.
I can ping this IP from the host where podman is running. But from inside the container I cannot reach external IPv6. Also another host inside the network cannot ping the container.
In a whireshark trace I see several neighbor solicitations (on enp6s0) from the other host in my network from where I run the ping but there is no answer.
Since it does not work for some reason I added a masquerade rule to nftables and this works (I still cannot ping the IPv6 of the container but this is not so important for my scenario. I need to reach external IPv6 from inside the container).
I then tried to proxy the ULA. But the behavior is same. I can ping it from the host but not from another host in the same network.
Routing also looks ok:
Stopping nftables also did not help.
Should the neighbor proxy method work for podman?
I used to use "ipMasq": true in my /etc/cni/net.d/87-podman-bridge.conflist.
Today after the update to Fedora 35 my root containers did not start because podman tries to do something with iptables. I don't use iptables but nftables instead. I have removed this option and added an ip6 nat table and put a masquerade rule in the POSTROUTING chain. This works - but I am not sure whether it is the idea of IPv6 that you use NAT on public addresses.
Steps to reproduce the issue:
see above
Describe the results you received:
see above
Describe the results you expected:
see above
Additional information you deem important (e.g. issue happens only occasionally):
Output of
podman version
:Output of
podman info --debug
:Package info (e.g. output of
rpm -q podman
orapt list podman
):Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/master/troubleshooting.md)
Yes/No
Additional environment details (AWS, VirtualBox, physical, etc.):
The text was updated successfully, but these errors were encountered: