1、四种网络模式
- bridge
- host
- none
- -net=none,获得独立的网络命名空间,但不为容器进行任何网络配置,需要手动创建。
- container
2、docker网络模型
-
veth pair:成对出现的一种虚拟网络设备,数据从一端进,另一端出,可理解为连接容器网络命名空间与docker0网桥的一根网线,用于解决网络命名空间之间的隔离。
-
docker0:网桥是一个二层设备,通过网桥可以将linux支持的不同端口连接起来,并实现乐死交换机那样的多对多通信。可通过
命令查看连接网桥的veth设备对(前提安装bridge-utils包) -
模型示图:
3、容器访问网络原理
-
外部访问容器
-
容器访问外部
4、容器网络实现核心技术:iptables
-
四表五链
-
iptables工作流程
- PREROUTING: 在进行路由判断之前所要进行的规则(DNAT/REDIRECT)
- INPUT: 处理入站的数据包
- OUTPUT: 处理出站的数据包
- FORWARD: 处理转发的数据包
- POSTROUTING: 在进行路由判断之后所要进行的规则(SNAT/MASQUERADE)
-
容器规则查看