美文网首页
修改容器出口网络标识

修改容器出口网络标识

作者: 大鹏一怒乘风起 | 来源:发表于2020-12-10 17:42 被阅读0次

    简单来说,两步搞定:

    ① 设定容器的net_cls.classid

    echo 256 > /sys/fs/cgroup/net_cls,net_prio/docker/<ID>/net_cls.classid

    这个256是人为给定的,范围是0-4294967295(但不能为0,系统默认初始的是0)

    ② 设定匹配这个 net_cls.classid 的源地址

    iptables -t nat -A POSTROUTING -p all -m cgroup --cgroup 256 -o em2 -j SNAT --to-source 192.168.79.18
    容器的ID需要使用长ID,不能是短ID 短:6f4267d1d900 长:6f4267d1d900c5b889d93f8713cf19c16faa00c200417195ec173ae84897f0e1

    如此一来,凡是容器为ID为6f4267d1d900的数据包出口IP将被固定为192.168.79.18,问题解决。

    相关文章

      网友评论

          本文标题:修改容器出口网络标识

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