vxlan和macvlan操作
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操作的更多相关文章
- kubernetes之flannel
kubernetes网络通信 容器间的通信 pod内的容器通信(lo) Pod之间的通信 pod IP <-----> pod IP Pod与Service之间的通信 podIP ...
- docker 网络实践
#docker 网络模式 环境 centos7. , Docker version -ce docker自带网络类型 bridge,host,none,container,overlay,macvla ...
- docker网络实践
docker网络.md #docker 网络模式 环境 centos7.4 , Docker version 17.12.0-ce docker自带网络类型 bridge,host,none,cont ...
- DOCKER学习_005:Flannel网络配置
一 简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机 ...
- [原] 利用 OVS 建立 VxLAN 虚拟网络实验
OVS 配置 VxLAN HOST A ------------------------------------------ | zh-veth0(10.1.1.1) VM A | | ---|--- ...
- 【Network】OVS VXLAN/GRE 实践
参考资料: OVS/VXLAN/GRE参考 ovs vxlan IP overray_百度搜索 OVS操作总结-Neutron-about云开发 OpenStack OVS GRE/VXLAN网络_z ...
- Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- 网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN
offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能.offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做,降低系统 CPU ...
随机推荐
- Django:ORM介绍
1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- 解决cxf+springmvc发布的webservice,缺少types,portType和message标签的问题
用cxf+spring发布了webservice,发现生成的wsdl的types,message和portType都以import的方式导入的.. 原因:命名空间问题 我想要生成的wsdl在同个文件中 ...
- Java 之 常用函数式接口
JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 java.util.function 包中被提供.下面是最简单的几个接口及使用示例. 一.Supplier 接口 java ...
- 转 CentOS 初体验十四:阿里云安装Gitlab
原文 https://blog.csdn.net/zhaoyanjun6/article/details/79144175 非Unix操作系统(Windows) GitLab是专为Unix操作 ...
- Springboot默认定时任务——Scheduled注解
1.pom配置 <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...
- 【CMDB】高级配置
思路: 一份默认配置,一份用户自定义配置,将两者结合,自定义优先级大于默认配置 目录结构 ''' 用户自定义的配置文件,settings.py ''' USER = 'xiaoming' PASSWO ...
- [ipsec][crypto] ike/ipsec与tls的认证机制比较
前言 接上篇:[ipsec][crypto] 有点不同的数字证书到底是什么 本篇内容主要是上一篇内容的延伸.抽象的从概念上理解了证书是什么之后,我们接下来 从实践的角度出发,以IKEv2和TLS两个协 ...
- 设置Django生产环境系统重启后的自动启动项
前面,作者已经介绍了把Django部署到生产环境中的主要方法,现在我们来看一下如何设置项目开机启动. 在把Django项目部署到生产环境中时,我们前面使用安装包和源码安装了Nginx.uwsgi.re ...
- MySQL线程状态详解
前言: 我们常用 show processlist 或 show full processlist 查看数据库连接状态,其中比较关注的是 State 列,此列表示该连接此刻所在的状态.那么你真的了解不 ...
- unity 之协程返回值
yield return null; // 下一帧再执行后续代码yield return 6;//(任意数字) 下一帧再执行后续代码yield break; //直接结束该协程的后续操作yield r ...