V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alanying
V2EX  ›  Docker

使用容器后 ufw 的防火墙不生效应该怎么办?

  •  1
     
  •   alanying · 42 天前 · 1107 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。
    限制不了端口了
    13 条回复    2024-10-10 16:50:04 +08:00
    bigshawn
        1
    bigshawn  
       42 天前   ❤️ 1
    alanying
        2
    alanying  
    OP
       42 天前
    @bigshawn 感谢,我看一下
    silverwolf
        3
    silverwolf  
       42 天前
    它俩都是直接控制 iptables ,所以谁也管不了谁。docker 端口映射的时候别只写暴露端口号,前面加一个 127.0.0.1: 就不会暴露到外部了。

    docker run -p 127.0.0.1:8080:80 nginx
    tpxcer
        4
    tpxcer  
       42 天前
    @bigshawn 看起来还是好折腾。
    hefish
        5
    hefish  
       42 天前
    不想外面访问的端口,为啥要暴露出来啊,是有啥特殊需求吗
    bigshawn
        6
    bigshawn  
       42 天前
    @tpxcer 别看他逼逼叨叨一大堆,其实就是复制粘贴重启服务就完事儿了。
    tpxcer
        7
    tpxcer  
       42 天前
    @bigshawn 原来如此
    care
        8
    care  
       42 天前
    最近因为 debian 12 默认的 nftables ,我也打算去试一下 podman 了
    alanying
        9
    alanying  
    OP
       42 天前
    @bigshawn
    @silverwolf
    @care

    顺道问一下,如果使用 firewalld-cmd 是否就不存在这个问题了?
    care
        10
    care  
       42 天前
    @alanying firewalld-cmd 也仅限 iptables 作为后端,nftables 作为后端的话,firewalld 也还不支持
    happyxhw101
        11
    happyxhw101  
       42 天前
    最简单的方案:

    使用 host 网络
    network_mode: host

    端口前指定 host ip
    ports:
    - 192.168.5.1:8080:8080/tcp

    复杂的方案:
    /etc/docker/daemon.json 中设置 ip
    {
    "ip": "192.168.5.1"
    }
    同时 network_mode 要使用 bridge
    happyxhw101
        12
    happyxhw101  
       42 天前
    @happyxhw101 后面那个和端口前指定 host ip 效果一样
    julyclyde
        13
    julyclyde  
       42 天前
    容器连内核都没有,哪来的防火墙?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4692 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:55 · PVG 17:55 · LAX 01:55 · JFK 04:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.