给容器添加防火墙规则

起因:harbor  容器访问  其他harbor,传输镜像,需要做nat

 

过程:

  在宿主机的防火墙上加iptables -t nat -I OUTPUT ...是不管用的

  应为他们不在一个命名空间

  需要在容器的命名空间里执行添加命令

  需要做nat的容器的名字ABC    

    c_name="feizhou-service"
    c_id=`docker ps |grep ${c_name}|awk '{print $1}'`
    n_id=`docker inspect ${c_id} |grep SandboxKey|awk -F"/|\"" '{print $(NF-1)}'`
    mkdir -p /var/run/netns/
    ln -sf /var/run/docker/netns/${n_id} /var/run/netns/${c_name}
    ip netns exec ${c_name} iptables -t nat -I OUTPUT -d feizhou-ip   -p tcp --dpo rt 443 -j DNAT --to-destination feizhou-ip:10094

  

posted @ 2023-06-02 08:59  Mloading  阅读(84)  评论(0)    收藏  举报