基于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. vue-element-admin框架快速入门

    年底了,最近公司也不是太忙,感觉今年互联网行业都遇到寒冬,不在是前两年像热的发烫的赛道.这几天完成公司项目系统的优化和升级,目前准备想开发一套前后端分离的系统.       现在java最新最火的技术 ...

  2. Virtual Judge POJ 1328 Radar Installation

    贪心 #include<algorithm> #include<iostream> #include<cstdio> #include<cmath> u ...

  3. wireshark抓pc上的包

    简介:wirkshark是全世界最广泛的网络封包分析软件之一. 软件用途: 网络管理员:我用它检测网络问题, 网络安全工程师:我用它检查资讯安全相关问题, 开发者:我用它为新的通讯协定除错, 普通使用 ...

  4. Centos7 FRPS

    #下载Sever端 wget https://github.com/fatedier/frp/releases/download/v0.16.1/frp_0.16.1_linux_amd64.tar. ...

  5. CentOS 7下用firewall-cmd控制端口与端口转发

    # 将80端口的流量转发至192.168.0.1的8080端口 1.firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toad ...

  6. python 中if和elif的区别

    如果程序中判断事件很多,全部用if的话,会遍历整个程序,用elif 程序运行时,只要if或后续某一个elif之一满足逻辑值为True,则程序执行完对应输出语句后自动结束该轮if-elif(即不会再去冗 ...

  7. Python求1000以内所有3或5的倍数的和。

    a=0 for n in range(1,1000): if n%3==0 or n%5==0: a=a+n print(a) 运行结果: 233168

  8. 左偏树 (bzoj 2809)

    Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称之为 Master.除了 Master以外,每名忍者都有且仅有一个上级. ...

  9. 主席树 hdu 4417

    求一个区间内小于等于limit的数: 主席树模板题. 求出每一个节点的sum: #include<cstdio> #include<algorithm> #include< ...

  10. php 裁剪图片并处理png图片背景变黑

    /*TODO 图片裁剪*/ function img_cutting($file_old,$file_new,$h,$w){ $image = $file_old; // 原图 $dir = 'xxx ...