当前位置:   article > 正文

[Docker网络]模拟一台交换机的拓扑

docker busybox 模拟网络设备

[Docker网络]模拟一台交换机的拓扑

本例主要对Docker网络进行实际运用。

背景介绍

一台虚拟机如何模拟成一台多端口交换机分别连接多台虚拟机?

bridge网桥技术

实验准备

  • docker

    docker安装教程

  • busybox镜像

    $ docker pull busybox

  • bridge-utils

    $ apt-get install bridge-utils

实验拓扑

两台主机:h1,h2,一台交换机:s1。

h1 <---> S1 <---> h2

实验步骤

<1> 创建docker网桥

  1. $ docker network create --driver bridge --subnet 10.0.0.0/24 --gateway 10.0.0.1 mybr
  2. 说明:
  3. --driver bridge:通过bridge驱动类创建bridge网络。
  4. --subnet 10.0.0.0/24:指定子网段。
  5. --gateway 10.0.0.1:指定网关。
  6. mybr:网桥名称。

<2> 启动h1和h2

  1. #终端1
  2. $ docker run -it --rm --network mybr --ip 10.0.0.2 busybox
  3. $ ip a

821381-20171205155006300-2055844608.png

  1. #终端2
  2. $ docker run -it --rm --network mybr --ip 10.0.0.3 busybox
  3. $ ip a

821381-20171205155221644-1603420357.png

<3> 启动s1

  1. #终端3
  2. $ docker run -it --rm --network host busybox
  3. $ ip a

821381-20171205155416503-742807512.png
821381-20171205155607878-1243819589.png

测试

  1. #终端1
  2. $ ping 10.0.0.3

821381-20171205155641425-1977985705.png

  1. #终端2
  2. $ ping 10.0.0.2

821381-20171205155727222-2110727289.png

  1. #终端3
  2. $ ping 10.0.0.2
  3. $ ping 10.0.0.3

821381-20171205155831722-629470075.png

原理解释

  1. 在bridge网桥技术中,veth pair 是一种成对出现的特殊网络设备,可以把它们想象成由一根虚拟网线连接起来的一对网卡,比如h1中网卡的一头(eth0@if90)在容器中,另一头(veth0b95f4f@if89)挂在网桥mybr上,其效果就是将 eth0@if90也挂在了mybr上。
  2. 交换机S1 是利用容器中的host网络,因此S1和host宿主机的网络配置相同,即可视为通过veth0b95f4f@if89网卡和veth4850d3c@if91网卡分别与h1(eth0@if90)和h2(eth0@if92)相连。
  3. 实际拓扑如下:

821381-20171205161726878-434766199.png

扩展思考

  1. 1、如何模拟多台交换机?
  2. 2、如何模拟路由器?

转载于:https://www.cnblogs.com/spjy/p/7987533.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/719238
推荐阅读
相关标签
  

闽ICP备14008679号