如何进行macvlan网络隔离和连通

如何进行macvlan 网络隔离和连通,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联建站是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,遂宁服务器托管,海外高防服务器,服务器机柜,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。

验证 macvlan 之间的连通性

bbox1 能 ping 通 bbox3,bbox2 能 ping 通 bbox4。即:同一 macvlan 网络能通信。

bbox1 无法 ping 通 bbox2 和 bbox4。即:不同 macvlan 网络之间不能通信。但更准确的说法应该是:不同 macvlan 网络不能 在二层上 通信。在三层上可以通过网关将 macvlan 连通,下面我们就启用网关。

我们会将 Host 192.168.56.101 配置成一个虚拟路由器,设置网关并转发 VLAN10 和 VLAN20 的流量。当然也可以使用物理路由器达到同样的效果。首先确保操作系统 IP Forwarding 已经启用。

输出为 1 则表示启用,如果为 0 可通过如下命令启用:

sysctl -w net.ipv4.ip_forward=1

在 /etc/network/interfaces 中配置 vlan sub-interface:

auto eth3

iface eth3 inet manual

auto eth3.10

iface eth3.10 inet manual

vlan-raw-device eth3

auto eth3.20

iface eth3.20 inet manual

vlan-raw-device eth3


启用 sub-interface:

ifup eth3.10

ifup eth3.20


将网关 IP 配置到 sub-interface:

ifconfig eth3.10 172.16.10.1 netmask 255.255.255.0 up

ifconfig eth3.20 172.16.20.1 netmask 255.255.255.0 up


添加 iptables 规则,转发不同 VLAN 的数据包。

iptables -t nat -A POSTROUTING -o eth3.10 -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth3.20 -j MASQUERADE

iptables -A FORWARD -i eth3.10 -o eth3.20 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth3.20 -o eth3.10 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth3.10 -o eth3.20 -j ACCEPT

iptables -A FORWARD -i eth3.20 -o eth3.10 -j ACCEPT

现在 host1 上位于 mac_net10 的 bbox1 已经可以与 host2 上位于 mac_net20 的 bbox4 通信了。

下面我们分析数据包是如何从 bbox1(172.16.10.10)到达 bbox4(172.16.20.11)的。

① 因为 bbox1 与 bbox4 在不同的 IP 网段,跟据 bbox1 的路由表:

数据包将发送到网关 172.16.10.1。

② 路由器从 eth3.10 收到数据包,发现目的地址是 172.16.20.11,查看自己的路由表。

于是将数据包从 eth3.20 转发出去。

③ 通过 ARP 记录的信息,路由器能够得知 172.16.20.11 在 host2 上,于是将数据包发送给 host2。

④ host2 根据目的地址和 VLAN 信息将数据包发送给 bbox4。

macvlan 网络的连通和隔离完全依赖 VLAN、IP subnet 和路由,docker 本身不做任何限制,用户可以像管理传统 VLAN 网络那样管理 macvlan。

关于如何进行macvlan 网络隔离和连通问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。

网页题目:如何进行macvlan网络隔离和连通
标题URL:https://www.cdcxhl.com/article26/gisgjg.html

成都网站建设公司_创新互联,为您提供面包屑导航响应式网站定制开发外贸建站域名注册网站导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发