视频加载失败

【Docker】macvlan网络模式下容器与宿主机互通

236 字
1 分钟
【Docker】macvlan网络模式下容器与宿主机互通
【Docker】macvlan网络模式下容器与宿主机互通

0x00#

一般在macvlan模式下同网段的其他机器可以和容器互通,但宿主不能和容器互通,这是在macvlan模式设计的时候为了安全而禁止了宿主机和容器直接通信。

如果想要实现互通,有个曲线救国的方法,就是macvlan与macvlan之间可以互通,只需要在宿主机再创建一个macvlan网络,然后修改路由,让数据经过这个macvlan达到互通的目的。

0x01#

假设现有网段为192.168.1.0/24的网络:

名字ip接口
宿主机192.168.1.10eth0
容器192.168.1.20macvlan

建立一个名为macvlan2的macvlan接口,并分配一个ip:

名字ip接口
macvlan2192.168.1.15macvlan

命令:

Terminal window
ip link add macvlan2 link eth0 type macvlan mode bridge
ip addr add 192.168.1.15 dev macvlan2
ip link set macvlan2 up

修改路由,让宿主机到容器(192.168.1.20)的数据经过macvlan2:

Terminal window
ip route add 192.168.1.20 dev macvlan2

0x02#

宿主机 访问 容器的ip:192.168.1.20

容器 访问 宿主机ip:192.168.1.15

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
【Docker】macvlan网络模式下容器与宿主机互通
https://rehtt.com/posts/236/
作者
Rehtt
发布于
2020-09-08
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Rehtt
Hello, I'm Rehtt.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
150
分类
17
标签
73
总字数
67,772
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录