1. 程式人生 > >docker macvlan--exsi 跨虛機通訊測試

docker macvlan--exsi 跨虛機通訊測試

本測試基於VMWARE EXSI

搭建環境

Vmware exsi, Ubuntu 15.10 核心4.2.0,docker 1.11.0-dev

Exsi上執行兩套ubuntu主機系統,網絡卡混雜模式開啟全部允許.

主機上配置的eth0網口或者建立的vlan網口,均需要開啟混雜模式,命令 ip link set eth0 promisc on ip link set eth0.100 promisc on

注意 : 如果不開啟混雜模式,會導致macvlan網路無法訪問外界,具體在不使用vlan時,表現為無法ping通路由,無法ping通同一網路內其他主機

exsi主機網路配置:
登陸vSphere –> 選擇虛機所在的主機–> 配置 –> 網路 –> 屬性 –> 埠選項下面的業務網路(一般為:VM Network)–>編輯
a.常規–> vlan id (可選) “全部(4095)”
b.安全–> 混雜模式(接受) mac 地址更改(接受)

搭建過程1-不使用vlan

  1. 建立docker macvlan網路
    兩臺主機上 eth0 使用分別為 192.168.17.12/192.168.17.13. 分別在兩臺主機上使用相同命令 docker network create -d macvlan –subnet=192.168.17.0/24 –gateway=192.168.17.1 -o parent=eth0 -o macvlan_mode=bridge eth0_1 建立eth0_1的macvlan網路.

  2. 建立容器

主機1 執行容器 使用命令:

docker run –net=eth0_1 –ip=192.168.17.101 -id –name test101 busybox sh

docker run –net=eth0_1 –ip=192.168.17.102 -id –name test102 busybox sh

主機2 執行容器 使用命令:

docker run –net=eth0_1 –ip=192.168.17.201 -id –name test201 busybox sh

docker run –net=eth0_1 –ip=192.168.17.202 -id –name test202 busybox sh

  1. 測試網路

主機1上測試:

執行命令:

docker exec test101 ping 192.168.17.1 ping閘道器: 通

docker exec test101 ping test102 使用容器名ping本主機容器: 通

docker exec test102 ping 192.168.17.101 ping本主機容器: 通

docker exec test102 ping 192.168.17.13 ping本網路其他主機: 通
docker exec test102 ping 192.168.17.12 ping本網路本主機: 不通

docker exec test101 ping 192.168.17.201 ping另一主機容器: 通

docker exec test101 ping test201 使用容器名ping另一主機容器: 不通

ping 192.168.17.101 本主機ping本主機容器: 不通

ping 192.168.17.201 本主機ping另一主機容器: 通

主機2上測試獲取相同結果.

搭建過程2-使用vlan

  1. 建立vlan

使用命令vconfig add eth0 100 建立eth0.100的vlan.設定兩臺主機的vlan ip分別為192.168.100.50/192.168.100.51
檢視vlan
[email protected]:~# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.100 | 100 | eth0

新增eth0.100對應的IP地址:
vi /etc/network/interfaces
auto eth0.100
iface eth0.100 inet static
address 192.168.100.50 ##另外一臺對應51
netmask 255.255.255.0
vlan-raw-device eth0

  1. 建立docker macvlan網路

分別在兩臺主機上使用命令 docker network create -d macvlan –subnet=192.168.100.0/24 –gateway=192.168.100.1 -o parent=eth0.100 -o macvlan_mode=bridge 100_1 建立相同的100_1的macvlan網路.

  1. 建立容器

主機1 執行容器 使用命令:

docker run –net=100_1 –ip=192.168.100.101 -id –name test100.101 busybox sh

docker run –net=100_1 –ip=192.168.100.102 -id –name test100.102 busybox sh

主機2 執行容器 使用命令:

docker run –net=100_1 –ip=192.168.100.201 -id –name test100.201 busybox sh

docker run –net=100_1 –ip=192.168.100.202 -id –name test100.202 busybox sh

測試網路

主機1上測試:

執行命令:

docker exec test100.101 ping 192.168.100.1 ping閘道器: 不通

docker exec test100.101 ping 192.168.100.50 ping本地eth0.100地址: 不通

docker exec test100.101 ping 192.168.100.51 ping另一個主機的eth0.100地址:通

docker exec test100.101 ping 192.168.100.102 ping本主機容器: 通

docker exec test100.101 ping 192.168.100.201 ping另一主機容器: 通

docker exec test100.101 ping test100.102 使用容器名ping本主機容器: 通

docker exec test100.101 ping test100.201 使用容器名ping另一主機容器: 不通

docker exec test100.101 ping 192.168.17.13 ping跨網路主機: 不通
docker exec test100.101 ping 192.168.17.12 ping跨網路主機: 不通

ping 192.168.100.101 本主機ping本主機容器: 不通

ping 192.168.100.201 本主機ping另一主機容器: 通

相關推薦

docker macvlan--exsi 通訊測試

本測試基於VMWARE EXSI 搭建環境 Vmware exsi, Ubuntu 15.10 核心4.2.0,docker 1.11.0-dev Exsi上執行兩套ubuntu主機系統,網絡卡混雜模式開啟全部允許. 主機上配置的eth0網口或者建立的v

十、Docker網路以及宿主通訊

講在前面: 1.目前實現的是單機部署,如何建立映象,管理映象;如何建立容器,管理容器;如何快速建立docker虛擬主機machine,如何快速部署多元件專案compose以及如何跨宿主機建立叢集swarm。 2.docker單機通訊是docker0橋接eth

Docker 使用 macvlan 實現主機網路通訊

一、背景        macvlan 本身是 linux kernel 模組,是一種網絡卡虛擬化技術;        它允許在同一個物理網絡卡上配置多個 MAC 地址,即多個 interface,每個 in

win7用搭建docker開發測試環境的網路配置,免去埠對映煩惱

之前有寫過一篇centos6.4使用docker,使用的是NAT網路模式,外部網路想要訪問容器服務,只能通過埠轉發。 如果我們是在win7系統上使用虛擬機器的centos6.4來安裝docker做開發測試研究,那麼網路環境很複雜,要對外提供服務,層層埠轉發管理起來會崩潰。

openstack在vmware環境(exsi或者workstation)中實例掛死

openstack 在vmware虛機環境中安裝了openstack平臺,創建實例cirros和centos,openstack並未報錯,但是在novnc裏查看cirros實例卡在grub無法進入系統,centos實例卡在install centos7之後的界面,並且報內核錯誤。 後來發現comt

Docker創建和swarm

erro 初始 machines ssi 一個 zrm advertise adapt too 創建虛機: First, quickly create a virtual switch for your virtual machines (VMs) to share, s

EXSI虛擬化如何導出眾多信息

EXSI需求點:公司定期的資產整理,需要導出目前虛機的使用情況以及虛擬化服務器的資源利用率在使用VMware vSphere Client這個工具的時候發現vmware大佬似乎不太厚道,只能導出一部分信息,而且不是我們所關註的之前問過一些大佬,甚至有的說用的zabbix做的相關資產管理,雖然我不知道能不能行,

利用vagrant創建多個測試

clas nbsp lin details www log devel 虛擬機 sdn 使用 Vagrant 構建開發環境 https://www.cnblogs.com/blackpuppy/p/vagrant_manage_development_environment

windows+vagrant+docker部署

voltha build 離線執行環境 環境準備(virtualbox,vagrant,已裝docker的box檔案) 建立共享資料夾詳細見此 執行docker容器 > cd /cord/i

EXSI宿主更換硬碟後啟動有問題

環境說明: 最近EXSI主機磁碟壞掉了,重新換掉磁碟以後啟動虛機有問題。 虛機的報錯資訊如下:    找了下修復方法,操作過程為: 嘗試修復 (以下是百度的方法) ls -l /dev/mapper mkdir /mnt mount /dev/mapper/cl_muban-root /

(菜汪學docker)docker+macVlan實現容器主機

本汪接觸macvlan沒有幾天,還是分享一些我的學習資料吧,學習總結就不好意思給了。 macvlan對於伺服器和交換機來說還是有點區別的,下面是大神們的資料 下面進去入實驗, 上一張比較lo

怎樣使用Vagrant在幾分鐘裡搭建出一套多節點的測試環境

D:\soft\k8s-vagrant-demo>vagrant upBringing machine 'kube-node1' up with 'virtualbox' provider...Bringing machine 'kube-node2' up with 'virtualbox' prov

不用不用Docker使用Azure應用服務部署ASP.NET Core程式

一般我們寫好了應用程式想要部署釋出它,要麼釋出到物理機,要麼釋出到虛擬機器,要麼釋出到容器來執行它。現在有了Azure應用服務,我們可以完全不用管這些東西,只管寫好自己的程式碼,然後使用VisualStudio的釋出功能就可以一鍵部署了。如果你覺得效能不夠用了還可以自動擴容,彈性伸縮。 ## 應用服務概述 A

啟動第一個 KVM

ueditor root 默認 啟動 試用 running .com 如何 查找 本節演示如何使用 virt-manager 啟動 KVM 虛機。 首先通過命令 virt-manager 啟動圖形界面 1 # virt-manager 點上面的

SDN Overlay 網絡中數據包的轉發(1)

虛機 overlay sdn 數據包轉發 mac地址學習 在配置了網絡虛擬化(Overlay)的網絡結構中,處於Overlay網絡中的虛機數據包的封裝和MAC地址學習和傳統物理網絡(Underlay)相似又不盡相同。除了我們了解Overlay網絡需要借助Underlay網絡進行二次封裝之外

kvm 給增加網卡

配置文件 root scrip valid log con detach light oba [[email protected]/* */ ok]# virsh domiflist c03 Interface Type Source

docker容器的主機訪問

docker 容器 跨主機 通信 訪問 在同一宿主機下的Docker的容器之間是默認互相聯通的。通過docker inspect id或name可以查看到ip地址。在不同的容器中來執行ping是可以ping通的,然而跨容器則行不通,於是總結了以下3種方法Docker容器默認跨主機之間的鏈接

SDN Overlay網絡中到物理的數據包的轉發

sdn overlay 數據包轉發 轉發網關 直接路由 在之前我們討論了SDN Overlay 網絡中5個不同場景下虛機數據包如何轉發,今天我們將繼續討論處於Overlay網絡中的虛機如何與物理機進行數據轉發。有關於微軟網絡虛擬化HNV的相關概念,如RDID、VSID、虛機網絡、虛擬子網、

【轉2】Appium 1.6.3 在Xcode 8 (真測試環境搭建 經驗總結

原因 ftl 關於 經驗 結束 views 報錯 catch live Appium 1.6.3 在Xcode 8 (真機)測試環境搭建經驗總結 關於 Appium 1.6.3 在Xcode 8, 1真機上環境搭建問題更多,寫此文章,供大家參考,讓大家少走彎路。

appium多並行測試

-s 均可 device 使用 clas sele appium cap ice 在實際應用中需要對多個機型並行測試,節省時間 多機測試的思路 啟動多個appium server與多臺機器交互(android和ios均可) 註意:一定要使用node安裝appium的命令