vxlan:
192.168.1.112 ———— 192.168.1.108 —— 192.168.1.109
192.168.1.112配置:
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
192.168.1.108配置:
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store=consul://192.168.1.112:8500 --cluster-advertise=ens33:2376
systemctl daemon-reload
systemctl restart docker.service
192.168.1.109配置:
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store=consul://192.168.1.112:8500 --cluster-advertise=ens33:2376
systemctl daemon-reload
systemctl restart docker.service
访问192.168.1.112:8500在网页上就可以看到添加进来的两个主机了
192.168.1.108配置:
docker network create -d overlay ov_net1 ——创建一个vxlan的网卡 (它会同步到192.168.1.109上 默认网段为10.0.0.0/24网段)
docker run -itd --name bbox1 --network ov_net1 busybox
docker exec bbox1 ip r (会看到两块网卡eth0、eth1)
通讯时会走172.17.0.0/16这块网卡 给所有overly提供通讯的
192.168.1.109配置:
docker run -itd --name bbox2 --network ov_net1 busybox
docker exec bbox2 ping -c 2 www.baidu.com ——跨网段访问
ln -s /var/run/docker/netns /var/run/netns
ip netns
ip netns exec 1-9f33003ff1 brctl show ——查看一下匿名空间就能看到它们走的是vxlan网络
ip netns exec 1-9f33003ff1 ip -d l show vxlan0 ——查看它们用的是哪个VLAN

docker network connect ov_net1 bbox3 ——如何想让不同的容器通讯添加相同的网卡

macvlan:

ip link show ens33 ——查看ens33
ip link set ens33 promisc on ——开启混杂模式 (两台机器都开启)
ip link show ens33

docker network create -d macvlan --subnet 172.16.86.0/24 --gateway 172.16.86.1 -o parent=ens33 mac_net1
docker network ls

docker run -itd --name bbox2 --ip=172.16.86.11 --network mac_net1 busybox

modinfo 8021q
modprobe 8021q ——添加802.1q模块

配置子接口
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
修改:
dhcp——manual
cp ifcfg-ens33 ifcfg-ens33.10

vi ifcfg-ens33.10
OTPROTO=none
NAME=ens33.10
DEVICE=ens33.10
IPADDR=192.168.23.11
PREFIX=24
NETWORK=192.168.23.0
ONBOOT=yes
VLAN=yes

cp ifcfg-ens33.10 ifcfg-ens33.20
vi ifcfg-ens33.20
OTPROTO=none
NAME=ens33.20
DEVICE=ens33.20
IPADDR=192.168.22.11
PREFIX=24
NETWORK=192.168.22.0
ONBOOT=yes
VLAN=yes

ifup ifcfg-ens33.10
ifup ifcfg-ens33.20

docker network create -d macvlan --subnet=172.16.10.0/24 --gateway=172.16.10.1 -o parent=ens33.10 mac_net10 ——创建macvlan网卡
docker network create -d macvlan --subnet=172.16.20.0/24 --gateway=172.16.20.1 -o parent=ens33.20 mac_net20
docker run -itd --name bbox10 --ip=172.16.10.10 --network mac_net10 busybox ——创建容器并且使用macvlan网卡
docker run -itd --name bbox20 --ip=172.16.20.10 --network mac_net20 busybox

ifconfig ens33.10 172.16.10.1 netmask 255.255.255.0
78 ifconfig ens33.20 172.16.20.1 netmask 255.255.255.0
79 iptables -t nat -A POSTROUTING -o ens33.10 -j MASQUERADE
80 iptables -t nat -A POSTROUTING -o ens33.20 -j MASQUERADE
81 iptables -A FORWARD -i ens33.10 -o ens33.20 -m state --state RELATE,ESTABLISHED -j ACCEPT
82 iptables -A FORWARD -i ens33.20 -o ens33.10 -m state --state RELATE,ESTABLISHED -j ACCEPT
83 iptables -A FORWARD -i ens33.10 -o ens33.20 -j ACCEPT
84 iptables -A FORWARD -i ens33.20 -o ens33.10 -j ACCEPT
85 docker exec -it bbox10 ping -c 2 172.16.20.10

vxlan和macvlan操作的更多相关文章

  1. kubernetes之flannel

    kubernetes网络通信 容器间的通信   pod内的容器通信(lo) Pod之间的通信   pod IP <-----> pod IP Pod与Service之间的通信 podIP ...

  2. docker 网络实践

    #docker 网络模式 环境 centos7. , Docker version -ce docker自带网络类型 bridge,host,none,container,overlay,macvla ...

  3. docker网络实践

    docker网络.md #docker 网络模式 环境 centos7.4 , Docker version 17.12.0-ce docker自带网络类型 bridge,host,none,cont ...

  4. DOCKER学习_005:Flannel网络配置

    一 简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机 ...

  5. [原] 利用 OVS 建立 VxLAN 虚拟网络实验

    OVS 配置 VxLAN HOST A ------------------------------------------ | zh-veth0(10.1.1.1) VM A | | ---|--- ...

  6. 【Network】OVS VXLAN/GRE 实践

    参考资料: OVS/VXLAN/GRE参考 ovs vxlan IP overray_百度搜索 OVS操作总结-Neutron-about云开发 OpenStack OVS GRE/VXLAN网络_z ...

  7. Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  8. Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  9. 网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN

    offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能.offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做,降低系统 CPU ...

随机推荐

  1. asBroadcastStream

    StreamSubscription sc = StreamSubscription(); Stream s = Stream(); sc.addStream(s); var bs = sc.stre ...

  2. python实现进制转换(二、八、十六进制;十进制)

    python实现进制转换(二.八.十六进制:十进制) (一)十进制整数转为二.八.十六进制 1.format实现转换>>> format(2,"b") # (10 ...

  3. 挂载nfs提示:mount.nfs: access denied by server while mounting...

    出现此类错误原因大致为: 权限问题 防火墙机制问题 共享配置文件问题 搭建好nfs服务后,在client端进行挂载时,提示: [root@web1 media]# mount -t nfs 192.1 ...

  4. 【hadoop】在eclipse上运行WordCount的操作过程

    序:本以为今天花点时间将WordCount例子完全理解到,但高估自己了,更别说我只是在大学选修一学期的java,之后再也没碰过java语言了 总的来说,从宏观上能理解具体的程序思路,但具体到每个代码有 ...

  5. SpringMVC框架笔记02_参数绑定返回值文件上传异常处理器JSON数据交互_拦截器

    目录 第1章 高级参数的绑定 1.1 参数的分类 1.2 数组类型的参数的绑定 1.3 集合类型的参数的绑定 第2章 @RequestMapping的用法 2.1 URL路径映射 2.2 请求方法限定 ...

  6. 专心学LINUX:CentOS关闭屏幕自动锁定和睡眠

    在VMware中学习CentOS总免不了一直测试.调试,加上看书.刨坛,再转回到CentOS界面时已经被锁定了.看看怎么将这定时锁定取消以免麻烦.虽然可以使用字符终端,但字符终端不便于翻看前面已经发出 ...

  7. Python标准库-datatime和time

    Python标准库-datatime和time 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.标准库datatime 1>.datatime模块 #!/usr/bin/e ...

  8. 2013.6.26 - OpenNER第六天

    今例会的时候看CRF,突然感觉到ANN模型可能没有问题了,问题出在评价函数,不能接过好就说好,或者说收敛方法有问题,并不是打得对就答得好.还有就是我们应该让他能够根据需要而自己产生问题,问我们,然后我 ...

  9. react native 手动打包jsbundle文件

    1 在项目目录/android/app/src/main下建一个文件夹assets 2 react-native bundle --platform android --dev false --ent ...

  10. [LeetCode] 0155. Min Stack 最小栈 & C++Runtime加速

    题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. ...