基于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。

基于MACVLAN配置VMWARE虚拟机中容器网络的更多相关文章

  1. 谈谈VMware虚拟机中的网络问题

    前言:用了好几年的虚拟机,多多少少都会遇到那么一些网络问题,在这里总结一下这么几年在虚拟机中遇到的一些网络问题(主要针对linux)...... 一.VMware相关基础知识 1.bridged(桥接 ...

  2. VMWARE虚拟机中CentOs7网络连接

    1.选择网络连接模式 这里选择NAT模式 2.查看虚拟机逻辑地址段 编辑---->虚拟网络编辑器 这里显示的是192.168.40.0 我们本机占用了192.168.40.1,网关是192.16 ...

  3. 2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置

    在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网. 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机 ...

  4. 【Linux】VMware虚拟机中如何配置静态IP

    此处详解如何在VMware虚拟机中配置静态IP. 上图是一个草图,大致说明下VMware网络情况.网段指某个IP范围,例如一栋小区楼和另一栋小区楼就不是一个网段 如果你在A小区,你女朋友在B小区,你想 ...

  5. VMware虚拟机中如何配置静态IP

    我们首先说一下VMware的几个虚拟设备 VMnet0:用于虚拟桥接网络下的虚拟交换机 VMnet1:用于虚拟Host-Only网络下的虚拟交换机 VMnet8:用于虚拟NAT网络下的虚拟交换机 VM ...

  6. VMware虚拟机CentOS7 - VMnet8网络配置及常见问题解决

    本文环境 物理机OS: Windows10 专业版 虚拟机平台: VMware Workstation 14 虚拟机OS: CentOS 7 配置步骤 一. 查看物理主机的网络配置信息 主要是找到可以 ...

  7. (转)VMware虚拟机三种网络模式的区别及配置方法;

    我的一点实际经验理解桥接和NAT 桥接是虚拟机完全作为一个独立的地址接在局域网中,NAT是虚拟机依赖宿主主机地址转换的一种方式 例子我的虚拟机如果用桥接模式,连接外部网站如百度时会提示此pc没有装公司 ...

  8. 在VMware虚拟机中配置DOS汇编开发环境!!

    操作系统:win7 32位 DOS环境:DosBox  下载:http://www.dosbox.com/ 选择当前适合自己版本,下载就可以了. 汇编编译器:MASM 5.0 下载:http://do ...

  9. VMware虚拟机三种网络模式的区别(上篇)

    提到VMware大家就想起了虚拟机技术,虚拟机技术在最近的几年中得到了广泛的发展,一些大型网络服务商都开始采用虚拟机技术,不仅节省了投资成本,更节约了能源的消耗. 我们知道VMware也分几种版本,普 ...

随机推荐

  1. sql server和eclipse连接问题

    最近学习java,需要用的数据库sql sever,这就有一个连接问题需要设置 首先需要下载sql server,可查看我的博客sql sever下载教程: 连接教程:eclipse连接sql ser ...

  2. 路飞-git操作

    复习 """ 1.pip换源 - 采用国内源下载,速度快 2.虚拟环境 - 可以为项目单独配置开发环境,方便管理依赖模块及模块的版本迭代 3.后台项目重构目录结构 4.后 ...

  3. 解决“(1146, "Table 'mydb.django_session' doesn't exist")”报错的方法

    执行 ./manage.py makemigrations sessions ./manage.py migrate sessions

  4. Flink架构(三)- 事件-时间(Event-Time)处理

    3. 事件-时间(Event-Time)处理 在“时间语义”中,我们强调了在流处理应用中时间语义的重要性,并解释了处理时间与事件时间的不同点.处理时间较好理解,因为它基于本地机器的时间,它产生的是有点 ...

  5. Linux - Shell - cut: 低配 awk

    概述 简述 shell 命令行工具 cut 背景 偶尔需要用 awk 来筛选特定的列 awk 很是强大 但是强大的背后, 却伴随着复杂 其实同样的功能, awk 也没有复杂多少 如果是 简单的任务, ...

  6. codeforces 962F.simple cycle(tarjan/点双连通分量)

    题目连接:http://codeforces.com/contest/962/problem/F 题目大意是定义一个simple cycle为从一个节点开始绕环走一遍能经过simple cycle内任 ...

  7. Eclipse配置C++11环境详细介绍

    转:https://blog.csdn.net/wgxh05/article/details/54021049 本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件 ...

  8. 吴裕雄 python 机器学习——集成学习AdaBoost算法分类模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  9. shim是什么?

    Vue响应式原理中说道:Object.defineProperty是Es5中无法shim的特性,那么这里的shim是什么呢? shim可以将新的API引入到旧的环境中,而且仅靠就环境中已有的手段实现. ...

  10. 远程传输文件命令:scp

    1.概述 scp(secure copy)是一个基于 SSH 协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程 IP 地址:远程目录”. 与第 2 章讲解的 cp ...