在ESXI 上的linux系统里安装docker, 使用macvlan 跨宿主机通信

本文介绍了在ESXi 6.5的Linux系统中配置Docker,使用macvlan进行跨宿主机通信的解决方案。通过设置ESXi的网络混杂模式,启用CentOS 7的网卡混杂模式,并创建macvlan网络,成功实现了容器与宿主机同网段内的其他主机通信。在解决问题的过程中,发现容器并不会在宿主机上显示为新的子网卡,而是直接通过原有的ens192网卡进行通信。
摘要由CSDN通过智能技术生成

问题描述: 创建macvlan,运行容器后,在容器里ping不通网关,意味着跨主机通信不通,宿主机的同网段其它主机也ping不通容器的IP 地址。

这个问题我折腾了好几天,网上的资料看了一大堆,看起来很容易,但是在我的环境里使用了macvlan后,容器就是不能跨主机通信,大年三十早早的起床,又一遍一遍的查资料,终于搞定了,其实很简单,,

说一下我的环境: ESXI 6.5,  系统为centos7(我把内核升级到了4.20,其实不用,3.10就够了), docker 18.09.1版本,宿主机所在网段为10.2.0.1/16,网关为10.2.178.1

步骤:

1. 打开ESXI的web UI, 选择Host(ESXI server自己),  在Hardware 里面找到Network, 点里面的 VM Network, 然后 Edit Setting ,找到 Security 标签页,修改 prosmiscous mode 为Accept, MAC address changes 为Accept, 保存修改

2. 设置centos7 的网卡为混杂模式: ip link set ens192 promisc on 

3. 创建macvlan(这个网上有很多,我就不详细说了):

dock network create -d macvlan --subnet 10.2.9.1/16 --gateway 10.2.178.1  -o parent=ens192 test_valn

4. 运行容器: docker  run --rm --net=test_valn --ip=10.2.9.101 --name=centos7_valn -t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值