写点什么

采用 docker 相关测试

发布于: 2020 年 09 月 20 日
采用docker相关测试

通过使用docker搭建网络隔离环境



docker里面的NAT往往采用的是端口限制锥形或者是主机限制锥形



在私网内的主机通信的方式

举例来说:

userA向服务器C发送打洞命令,服务器C进行打洞(会将报文:源A、目的地B,发送出去到B)routerB进行向routerA发送数据,但由于NAT(端口限制或者主机限制)锥形A没有向B实质上发送报文,因此,A会把B的请求过滤。此时A会再次向发送数据给B,由于B已经发送数据给A了,就会成功接收数据,建立连接。



综上所述,容器是通过NAT进行对docker0进行网络地址转化,转成eth0的地址与外网进行通信;


测试Flow_Collector



那么问题来了,如果是公网的流量能否到达私网?换句话说,公网能够请求到私网吗?docker容器能否采集到流量数据?

答案显然是不可以的,这也是NAT最大的缺点(通信的内容不多细说)。

因此,当我们在容器内部进行部署时,没有任何流量打印,他是出于完全网络隔离栈之中如下图所示:

docker inspect --format='{{.NetworkSettings.IPAddress}}' maltrail-centos7

通过这行命令,查找当前的网络ip地址

172.17.0.3

接下去就是ping 172.17.0.3

可以成功打印所抓取的流量

因此部署的Flow_Collector在网络隔离的环境之下可以成功获取流量,并且打印。

发布于: 2020 年 09 月 20 日阅读数: 51
用户头像

一个孤独的撰写者 2020.07.30 加入

主攻云计算、云安全,c++、python、java均有涉猎

评论

发布
暂无评论
采用docker相关测试