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 ...
随机推荐
- Flutter 实现图片裁剪
实现原理很简单 ,自己绘制一个裁剪框, 根据手势 选择到适合的位置 ,然后将选中的区域绘制到一个新的图片上,从而完成裁剪 裁剪框的绘制 这里我是根据点来连线的 因为每个点上会绘制一个拉伸的标识符 ...
- iOS - Xcode中从动态库剥离不需要的架构
自从iOS 8发布以来,开发人员已经能够利用动态库对iOS开发的好处.对于一般开发,为所有需要的架构设置一个单一的动态库是非常好的,所以您可以在所有设备和iOS模拟器上运行,而无需更改任何东西.然而, ...
- iOS - 外加字体(只需三步-教你轻松实现)
外加字体 1.首先info.plist中加入属性Fonts provided by application,在item 0 处填写导入的ttf文件名 eg: <key>UIAppFonts ...
- ERROR: Cannot uninstall 'chardet'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
pip 安装 docker库报错: ERROR: Cannot uninstall 'chardet'. It is a distutils installed project and thus we ...
- 中兴软开C++面经(一站式西安)- 2019秋招
大概是9.6发短信邀请面试,但是6号有三个面试+一个在线笔试,就打算先去平安产险,看中途能不能再面个云从,中兴后面再面.然而,平安等了差不多4个小时才面完,期间云从面试官打来电话,只能说抱歉.中兴本来 ...
- hybris commerce storefront的产品搜索功能
在Hybris Commerce Cloud的storefront的搜索栏键入一些字母,每次键入,会触发一个发送到后台的http请求实现live search的功能: http url如下:https ...
- SQL PLUS 远程连接数据库
-- SQL PLUS 远程连接Oracle数据库(WINDOWS+SQL PLUS)命令:用户名/密码@ip地址[:端口]/service_name [as sysdba] EG: ORCL/ORC ...
- LNMP - Warning: require(): open_basedir restriction in effect错误解决方法
LNMP 1.4或更高版本如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param ...
- keepalived,tomcat,memcache
1.Nginx+Keepalived实现站点高可用 linux cluster类型 LB:nginx负载,varnish(director module)haproxy,lvs HA:keepaliv ...
- netty实现websocket发送文本和二进制数据
原文:https://huan1993.iteye.com/blog/2433552 最近在学习netty相关的知识,看到netty可以实现 websoket,因此记录一下在netty中实现webso ...