You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Podman容器端口转发失效问题求助

Podman容器端口转发失效问题求助

大家好,我最近遇到了一个Podman容器端口转发的棘手问题,折腾了好一阵都没搞定,想请各位大佬帮忙分析下:

我的需求

我想把Podman容器里的8000端口,通过宿主机的8009端口暴露到局域网中。

当前容器运行状态

容器是用podman-compose启动的,对应的底层podman create命令如下:

podman create --name=pihole-unbound_pihole_1 [...] --net pihole-unbound_default --network-alias pihole -p 53:53/tcp -p 53:53/udp -p 8000:80/tcp --restart unless-stopped pihole-unbound_pihole

目前在宿主机上访问http://server.local:8000/是完全正常的,能顺利打开容器的Web UI。

已做的配置操作

我用firewall-cmd添加了端口转发规则:

firewall-cmd --add-forward-port=port=8009:proto=tcp:toport=8000

从防火墙配置里也能看到这条规则已经生效(在默认的FedoraServer zone下)。

问题现象

  1. 局域网外部访问超时:用其他机器访问http://192.168.10.15:8009,请求直接超时,连不上
  2. 宿主机本地访问被拒绝:在宿主机上执行curl -I http://localhost:8009,直接提示连接失败:
    curl: (7) Failed to connect to localhost port 8009 after 0 ms: Couldn't connect to server
    

防火墙相关配置信息

我查了防火墙的zone配置,信息如下:

  • 可用zone列表:
    firewall-cmd --get-zones
    # 输出:FedoraServer FedoraWorkstation block dmz drop external home internal libvirt libvirt-routed nm-shared public trusted work
    
  • 活跃zone:
    firewall-cmd --get-active-zones
    # 输出:
    # FedoraServer (default)
    # interfaces: enp3s0
    #
    # trusted
    # sources: 10.89.0.0/24 10.89.1.0/24 10.89.2.0/24 10.89.3.0/24
    
  • trusted zone详情:
    firewall-cmd --zone=trusted --list-all
    # 输出:
    # trusted (active)
    # target: ACCEPT
    # ingress-priority: 0
    # egress-priority: 0
    # icmp-block-inversion: no
    # interfaces:
    # sources: 10.89.0.0/24 10.89.1.0/24 10.89.2.0/24 10.89.3.0/24
    # services:
    # ports:
    # protocols:
    # forward: yes
    # masquerade: no
    # forward-ports:
    # source-ports:
    # icmp-blocks:
    # rich rules:
    
  • FedoraServer zone详情:
    firewall-cmd --zone=FedoraServer --list-all
    # 输出:
    # FedoraServer (default, active)
    # target: default
    # ingress-priority: 0
    # egress-priority: 0
    # icmp-block-inversion: no
    # interfaces: enp3s0
    # sources:
    # services: cockpit dhcpv6-client http samba ssh
    # ports:
    # protocols:
    # forward: yes
    # masquerade: yes
    # forward-ports:
    # port=8009:proto=tcp:toport=8000:toaddr=
    # source-ports:
    # icmp-blocks:
    # rich rules:
    

我查了不少Fedora/CentOS端口转发的教程,但大多没针对容器场景,试了各种方法还是不行。现在完全摸不着头脑,想问问有没有遇到过类似问题的朋友,或者各位大佬能给点排查方向?

备注:内容来源于stack exchange,提问作者arielnmz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:44:33