一、基础网络知识
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 网络需要阅读链接内容以及相关书籍
书籍/博文:
- 《TCP/IP 协议卷1》
- 《深入理解linux 网络内幕》route & bridge章节
- network namespace
- docker-network-architecture
- macvlan
- iptables
- linux-virtual-networking
四、测试环境说明
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地址
相关内容
docker 网络-准备
docker 网络-host
docker 网络-bridge
docker 网络-overlay
docker 网络-macvlan
网友评论