栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

docker0和eth0有什么关系?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker0和eth0有什么关系?

默认

docker0
网桥和主机以太网设备之间没有直接链接。如果
--net=host
对容器使用该选项,则主机和容器网络堆栈将被链接。

当数据包从容器流到docker0时,如何知道将其转发到eth0,然后再转发到外部世界?

docker0
桥梁有
.1
分配给它的泊坞窗网的地址,这通常是一个或172.17围绕172.18东西。

$ ip address show dev docker08: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default     link/ether 02:42:03:47:33:c1 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.1/16 scope global docker0       valid_lft forever preferred_lft forever

为容器分配了连接到

docker0
桥的veth接口。

$ bridge link10: vethcece7e5 state UP @(null): <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master docker0 state forwarding priority 32 cost 2

在默认Docker网络上创建的容器接收该

.1
地址作为其默认路由。

$ docker run busybox ip route showdefault via 172.17.0.1 dev eth0 172.17.0.0/16 dev eth0  src 172.17.0.3

Docker使用NAT MASQUERADE从那里进行出站通信,它将遵循主机上的标准出站路由,该默认出站路由可能默认为

eth0

$ iptables -t nat -vnL POSTROUTINGChain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target     prot opt in     out     source    destination  0     0 MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0

iptables处理连接跟踪并返回流量。

当外部数据包到达eth0时,为什么将其转发到docker0然后转发到容器?而不是处理它或丢弃它?

如果您询问返回的出站流量,请参阅上面的iptables。

如果您是指新的入站流量,则默认情况下不会将数据包转发到容器中。实现此目的的标准方法是设置端口映射。Docker启动一个守护程序,该守护程序侦听端口X上的主机,然后转发到端口Y上的容器。

我不确定为什么NA​​T也没有用于入站流量。尝试将大量端口映射到容器中时遇到了一些问题,导致将真实世界的接口完全映射到容器中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/364518.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号