1.弹性网卡+网卡多 IP+策略路由:具体做法:首先使用 veth pair 打通容器与 ECS 网络命名空间,使得容器 IP 与 ECS 弹性网卡 IP 可见;之后进行策略路由的设置,实现容器与弹性网卡的正确对应。如下图所示,入方向策略路由表表明当访问 192.168.10.1-3 时需要查找main路由表进行包转发,main 路由表把不同的 ip 指向不同的 veth pair 设备,这样就可以路由到正确的容器内。出方向上如果源地址是 192.16.10.1-3 的话,则需要去 1006 路由表。路由表 1006 表示要将所有包路由到 eni1 上,从而找到正确的网卡。
2.弹性网卡+网卡多 IP+IPvlan:基于弹性网卡多 IP 的方案还有更加简单的做法:IPvlan。
IPvlan 是 linux 内核提供的网卡虚拟化技术,能够从物理网卡虚拟出多个虚拟网卡。多个虚拟网卡有相同 mac 地址,但是有独立的 IP。
使用 IPvlan 之后,从容器往下看,ECS 便有了更多的网卡,如下图中 ECS 有三个弹性网卡,每个网卡 3 个 IP,每个 IP 对应一个 IPvlan 设备。将 IPvlan 设备直接放到容器的命名空间内,打通整个链路。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。