基于MACVLAN配置VMWARE虚拟机中容器网络

MACVLAN配置VMWARE容器网络
本文介绍如何使用MACVLAN在VMWARE虚拟机环境中为容器配置静态IP地址,实现容器间的网络互通。MACVLAN是一种高性能的网络虚拟化技术,支持跨主机网络连接。文章详细展示了配置步骤及测试方法。

基于MACVLAN配置VMWARE虚拟机中容器网络

测试部环境组 201711

0 文档说明

MACVLAN是docker的一种支持跨主机网络的driver。macvlan本身是linux kernel模块,功能是允许同一个物理网卡配置多个MAC地址,即多个interface,每个interface可以配置自己的IP。本质上是一种网卡虚拟化技术。最大的优点是性能极好。

相对原使用pipework配置容器IP,更为方便,且容器重启后IP仍存在。

测试部主要使用macvlan为各容器配置静态IP,使用方法总结如下。

1 若docker主机为虚拟机,则开启对应VLAN的混杂模式

图片略

 

2 虚拟机可添加多个网卡,容器即可配置不同地址段IP

配置步骤如下:

2.1 假设当前ubuntu虚拟机配置的网桥br43,地址段为172.28.2.0/24

修改模式:

ip link set br0 promisc on

创建network

docker network create -d macvlan --subnet=172.28.2.0/24 --gateway=172.28.2.254 -o parent=br43 cslc-macvlan1

虚拟机创建容器

docker run -itd --name=u16-sie --hostname=u16-sie --net=cslc-macvlan1 --ip=172.28.2.205 172.28.2.2:4000/sie:171101 /bin/bash

 

至此容器172.28.2.205与其他各环境,各虚拟机,办公网络均可互通。

 

2.2 为虚拟机添加一个网卡,VLAN为TD_280

ip addr show对照mac地址确定是哪一个接口eth?

为网卡添加地址

ip addr add 172.26.80.1/24 dev eth3

ifconfig eth3 up

ip link set eth3 promisc on

创建第二个docker network

docker network create -d macvlan --subnet=172.26.80.0/24 --gateway=172.26.80.254 -o parent=eth3 cslc-macvlan2

虚拟机创建容器

docker run -itd --name=u16-sie1 --hostname=u16-sie1 --net=cslc-macvlan2 --ip=172.26.80.205 172.28.2.2:4000/sie:171101 /bin/bash

至此容器172.26.80.205与其他各环境,各虚拟机,办公网络均可互通。

 

3 测试方法:

外部ping容器ip

ping 172.26.80.205

ping 172.28.2.205

容器ping外部ip

docker exec u16-sie1 ping -c2 172.26.80.254

docker exec u16-sie ping -c2 172.26.80.254

docker exec u16-sie1 ping -c2 172.28.2.254

docker exec u16-sie ping -c2 172.28.2.254

docker exec u16-sie1 ping -c2 172.20.18.254

docker exec u16-sie ping -c2 172.20.18.254

 

说明:因macvlan通过主机网卡/网桥与外部通信,容器与所属主机之间无法ping。

 

 

转载于:https://www.cnblogs.com/DaweiJ/p/8462987.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值