代销福利彩票的条件|dj东京娱乐登录网
   3个月前 (08-23) CloudMan6  每天5分钟Docker
文章评分 0 次,平均分 0.0

上一节我们创建了两个 macvlan 并部署了容器,网络结构如下:

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

本节验证 macvlan 之间的连通性。

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

bbox1 能 ping 通 bbox3,bbox2 能 ping 通 bbox4。即?#21644;?#19968; macvlan 网络能通信。

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

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

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

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

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

sysctl -w net.ipv4.ip_forward=1

在 /etc/network/interfaces ?#20449;?#32622; vlan sub-interface:

auto eth2
iface eth2 inet manual
auto eth2.10
iface eth2.10 inet manual
vlan-raw-device eth2
auto eth2.20
iface eth2.20 inet manual
vlan-raw-device eth2

启用 sub-interface:

ifup eth2.10
ifup eth2.20

将网关 IP 配置到 sub-interface:

ifconfig eth2.10 172.16.10.1 netmask 255.255.255.0 up
ifconfig eth2.20 172.16.20.1 netmask 255.255.255.0 up

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

iptables -t nat -A POSTROUTING -o eth2.10 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2.20 -j MASQUERADE

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

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

当前网络拓扑如下图所示:

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

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

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

下面我们分析数据包是如何从 bbox1(172.16.10.10)到达 bbox4(172.16.20.11)的。整个过程如下图所示:

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

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

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

数据包将发送到网关 172.16.10.1。

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

macvlan网络隔离和连通--每天5分钟玩转Docker容器技术(57)

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

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

④ host2 根据目的地址和 VLAN 信息将数据包发?#36879;?bbox4。

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

?#38142;耍琺acvlan 就讨论完了,恭喜大家又学完一个网络方案,下一节我们开始学习 flannel。


//下面这个css和插件后台设置的主题有关系,如果需要换样式,则需要修改以下CSS名称

 

除特别注明外,本站所有文章均为铁匠运维网原创,转载请注明出处来自http://www.uryjp.tw/24642.html

关于

发表评论

暂无评论

切换注册

登录

忘记密码 ?

您?#37096;?#20197;使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享
代销福利彩票的条件 广西11选5预测 厦门股票配资公司 喜乐彩开奖信息 ku棋牌 9188双色球基本走势图 体彩时时彩投注技巧 体彩青海11选5 3d杀组选复式投注技巧 手机股票行情 广东11选5万能8码