美文网首页
Ubuntu防火墙ufw对Docker容器端口的策略问题处理

Ubuntu防火墙ufw对Docker容器端口的策略问题处理

作者: 南瓜pump | 来源:发表于2022-12-06 11:26 被阅读0次

    在Ubuntu上部署服务的时候,使用ufw进行防火墙的配置时,遇到的相关问题,解决办法记录如下:

    问题1:防火墙配置对Docker里面的容器端口不生效
    # 修改docker配置
    vi /etc/docker/daemon.json 
    # 在大括号内加入如下配置
    ,"iptables": false
    # 示例:{ "registry-mirrors": ["https://ra9q5uam.mirror.aliyuncs.com"] ,"iptables": false}
    
    问题2:docker内容器无法访问其他容器的端口
    # 开放docker内容器的访问权限
    ufw allow from 172.17.0.1/24
    # 刷新防火墙配置
    ufw reload
    
    问题3:docker内容器无法访问外部网络
    # 修改ufw规则
    vim /etc/default/ufw
    ## 把DEFAULT_FORWARD_POLICY修改为下面
    DEFAULT_FORWARD_POLICY="ACCEPT"
    # 修改docker启动配置
    vim /etc/default/docker
    ## 修改如下配置
    DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -iptables=false"
    # 修改ufw配置
    vim /etc/ufw/before.rules
    ## 在`*filter`前面添加下面内容
    ###########我是分割线############
    *nat
    :POSTROUTING ACCEPT [0:0]
    -A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
    COMMIT
    ###########我是分割线############
    # 重启服务器
    reboot
    
    问题4:使用ufw放开docker内的端口访问不生效
    # 一般情况下docker外的端口想要开放端口访问直接执行以下指令即可
    ufw allow 端口号
    # 但是docker内的端口还需要先开放容器内的端口访问权限才行
    ufw route allow 端口号
    

    参考文章:
    CSDN-让docker处于ufw防火墙的控制下
    Moththe-修复 UFW 无法管理 Docker 端口

    相关文章

      网友评论

          本文标题:Ubuntu防火墙ufw对Docker容器端口的策略问题处理

          本文链接:https://www.haomeiwen.com/subject/hkmwfdtx.html