docker 网络-准备

一、基础网络知识

0、tcp/ip 协议熟悉,L2&L3&L4
1、network namespace :隔离不同的网络,配置不同的网络协议栈,路由,防火墙等。
2、iptables 核心流程,以及配置


iptables

3、route 流程


route.png

二、测试工具准备

docker:docker 容器管理
ip :配置命名空间,路由,虚拟设备等
brctl: bridge 设备配置
ping:测试联通性
nc :tcp/udp 测试
tcpdump:抓包测试
ifconfig: ip查看
iptables: nat ,防火墙配置
docker-machine :docker 连接VirtualBox(安装boot2docker.iso 操作系统镜像) 工具
VirtualBox :虚拟机
nsenter : 进入网络命名空间
lsof:查看启动端口

三、参考资料(推荐阅读)

如果需要深入理解docker 网络需要阅读链接内容以及相关书籍

书籍/博文:

四、测试环境说明

1、主机mac OS
2、虚拟机(docker-machine 创建)
3、网络拓扑图
VM: eth1<——host-only——> host:vboxnet0 (vm 局网)
VM:eth0 <——nat —————> host:en0(vm 连接外网)
host-only :vm 不能使用该接口访问外网
nat :vm 接口可以访问外网,但是出口的源地址为host:en0地址

vm-in-host.png

相关内容

docker 网络-准备
docker 网络-host
docker 网络-bridge
docker 网络-overlay
docker 网络-macvlan