Debian系统下无Root权限Podman配置IPv6失败的问题求助
Debian系统下无Root权限Podman配置IPv6失败的问题求助
各位大佬好,我目前在运行无Root权限的Podman(版本4.3.1),但怎么都没法让IPv6正常工作,已经卡了一周多,翻遍了Podman官方文档和RedHat的相关博客都没找到解决办法,实在没辙了,希望能得到大家的帮助!
我的配置步骤
我先在/etc/containers/containers.conf中添加了以下配置:
network_cmd_options = [ "port_handler=slirp4netns", "enable_ipv6=true" ] network_backend = "netavark"
配置完成后,我执行了podman system reset重置Podman环境,接着创建了一个支持IPv6的自定义网络:
podman network create --ipv6 mytestnetwork
之后创建了一个Pod并设置端口映射,关联到刚才创建的网络:
podman pod create --name mytestpod --publish 8080:80 --network mytestnetwork
最后在这个Pod中启动了一个Nginx容器:
podman run --name test-web --pod mytestpod -d docker.io/library/nginx
容器内的Nginx配置(nginx.conf)如下,我让它只监听IPv6的80端口:
server { listen [::]:80; location / { proxy_pass http://[some:ipv6:address]:1234; } }
遇到的问题
我无法连接到这个仅监听IPv6的Nginx容器,但如果给Nginx配置里加上listen 80;(开启IPv4监听),就能正常通过主机的8080端口访问了——可这样一来,proxy_pass到目标IPv6地址的功能就失效了,这不是我想要的结果。
我已经排查过nftables,确认没有任何规则会阻断IPv6连接,而且用ss -tlp命令查看,也能看到rootlessport确实在监听对应的端口。
我知道可以把Pod直接放到主机网络模式下,但我运行了很多容器和Pod,需要端口映射和网络隔离的功能,所以不想采用这种方案。
有没有大佬能给我一些排查思路或者解决办法呀?万分感谢!
备注:内容来源于stack exchange,提问作者Tintin
相关产品推荐
相关产品推荐

