055、创建macvlan网络 (2019-03-22 周五)

摘要:
参考资源https://www.cnblogs.com/CloudMan6/p/7364332.html要创建一个macvlan网络,您需要指定用于通信的物理网卡-oparent=ens192以创建一个mac vlan网络。您需要指定网络环境中已经存在的网关,因为macvlan不提供网关功能--gateway172.16.86.1因为网关存在于我们的网络环境中,我们还需要指定与网关--sub匹配的网络地址
参考https://www.cnblogs.com/CloudMan6/p/7364332.html
 
 
创建macvlan网络,需要指定使用哪块物理网卡进行通信
 
-o parent=ens192
 
创建macvlan网络,需要指定网络环境已经存在的网关,因为macvlan并不提供网关功能
 
--gateway 172.16.86.1
 
因为网关是我们网络环境中存在的,所以我们也需要指定一个与网关匹配的网络地址
 
--subnet 172.16.86.0/24
 
在下面的实验中可以看到:
 
1、macvlan不提供网关服务
2、macvlan不提供dns服务
3、macvlan属于本地网络类型,所以两台host上的macvlan网络是相互独立的
4、macvlan不提供自动分配IP地址的服务,创建容器时需要手动指定容器IP,还要与其他host上的macvlan避免IP冲突
 
root@host1:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@host1:~# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
9e26e05efc49        bridge              bridge              local
bb03f7574aa2        host                host                local
11e39328a6d1        none                null                local
root@host1:~# docker network create -d macvlan --subnet 172.16.86.0/24 --gateway 172.16.86.1 -o parent=ens192 mac_net1
d60df792c93636940d01eaae0ede35491c0ff0592cfd374b06b5579baf6770d4
root@host1:~# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
9e26e05efc49        bridge              bridge              local
bb03f7574aa2        host                host                local
d60df792c936        mac_net1            macvlan             local
11e39328a6d1        none                null                local
root@host1:~# docker run -itd --name bbox1 --ip 172.16.86.11 --network mac_net1 busybox
b56e6cd9876e7d3fa477918281f6db1c04446733c99d32bbd08028be8acefd3b
root@host1:~# docker exec bbox1 ip r
default via 172.16.86.1 dev eth0
172.16.86.0/24 dev eth0 scope link  src 172.16.86.11
root@host1:~# docker exec bbox1 ping -c 2 bbox2
ping: bad address 'bbox2'
root@host1:~# docker exec bbox1 ping -c 2 172.16.86.12
PING 172.16.86.12 (172.16.86.12): 56 data bytes
64 bytes from 172.16.86.12: seq=0 ttl=64 time=0.548 ms
64 bytes from 172.16.86.12: seq=1 ttl=64 time=0.267 ms
 
--- 172.16.86.12 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.267/0.407/0.548 ms
root@host1:~# docker exec bbox1 ping -c 2 172.16.86.1
PING 172.16.86.1 (172.16.86.1): 56 data bytes
 
--- 172.16.86.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
 
 
 
root@host2:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@host2:~# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
65563241b1ff        bridge              bridge              local
cf4c89650a1f        host                host                local
2f7d79e0114d        none                null                local
root@host2:~# docker network create -d macvlan --subnet 172.16.86.0/24 --gateway 172.16.86.1 -o parent=ens192 mac_net1
39f1aab9f5b8aba4491b50d080bb263d5a184658b31828fc2e40a1d28563f321
root@host2:~# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
65563241b1ff        bridge              bridge              local
cf4c89650a1f        host                host                local
39f1aab9f5b8        mac_net1            macvlan             local
2f7d79e0114d        none                null                local
root@host2:~# docker run -itd --name bbox3 --ip 172.16.86.12 --network mac_net1 busybox
43406891a16236b17028f0d4e1983accdd79c47cea63f91948fd4de6f17dba41
root@host2:~# docker rm -f bbox3
bbox3
root@host2:~# docker run -itd --name bbox2 --ip 172.16.86.12 --network mac_net1 busybox
55e101449753d0ed5e5da4315e99b16fc807d7110a19ea5117a958e7d62effed
root@host2:~# docker exec bbox2 ip r
default via 172.16.86.1 dev eth0
172.16.86.0/24 dev eth0 scope link  src 172.16.86.12
 
 
 

免责声明:文章转载自《055、创建macvlan网络 (2019-03-22 周五)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇爱奇艺VIP云解析接口ngx_lua应用最佳实践下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用tcping检查网站开放的端口

麦新杰之前分享过一款小巧玲珑工具软件:tcping,即在tcp层进行端口的ping。 tcping可以用来检查和确认我们的网站有哪些端口是开放的,使用很顺手。比如麦新杰这几天在研究如何关闭mysql的3306端口,就通过使用tcping工具来确认关闭端口是否成功。Linux下有有个netstat命令,总是对其输出看得云里雾里,虽然netstat -l的输出...

国产化 飞腾芯片 银河麒麟 docker部署netcore

1、背景介绍 此文档是基于arm64架构服务器编写的,写此文档时使用的是银河麒麟系统。银河麒麟系统自带docker,所有我们不需要再安装docker,而且银河麒麟系统中的docker已经设置了开机自启,我们不需要设置开机自启。如果之后安装单机版的电脑没有docker,则需要我们在脚本中提供安装docker的命令,并设置docker开机自启。 2、单机版do...

如何将docker升级到最新版本

如何将Docker升级到最新版本 1、查找主机上关于Docker的软件包# rpm -qa | grep docker – – 列出包含docker字段的软件的信息docker-1.13.1-53.git774336d.el7.centos.x86_64docker-client-1.13.1-53.git774336d.el7.centos.x86_64...

Jumpserver-堡垒机

Jumpserver-堡垒机 1.基于Docker搭建Jumpserver堡垒机 1.1 下载镜像 1.2 运行镜像 1.2.1 官网步骤—Docker快速启动 1.3 浏览器访问 2.Jumpserver使用 2.1 管理用户 2.2 资产管理 2.2.1 资产管理-管理其他服务器 2.3 系统用户 2.3.1 系统用户sudo权限 3.测...

自建 Gitlab (邮箱配置、拆分 PostgreSQL、Redis) + 随想

前言 最近折腾了一番自建 gitlab,在此做个记录,供君参考。整个构建过程基于 Docker Swarm(近期有计划将微服务移植到 Kubernetes,但还没倒腾顺手,暂时先沿用旧的方案),主题配图与主题无关,请忽略...... 1. 快速启用 配置的一般原则是先可用再优化,简单启动 gitlab 只需要一条命令: sudo docker run --...

dcoker常用命令

记录一下常用的命令 docker run -t -i xxxx /bin/bash 运行容器的交互会话shell docker start xxxx 启动容器 docker stop xxxx 停止容器 docker restart xxxx 重启容器   docker ps 查看容器状态 docker rename oldxxx newxxxx 重命名容...