小编Aen*_*non的帖子

混杂模式下 Docker 容器的网络接口

组成一个 3 服务架构和一个虚拟桥接网络,三个服务都附加在该网络上。我希望其中一个容器能够监听虚拟网络中的所有流量(混杂模式)。是否可以?我几乎尝试了所有方法,但似乎没有任何效果。

我试过的:

  • 赋予容器完全权限
  • 将容器 eth0 接口设置为混杂(ifconfig eth0 promisc)
  • 重启容器内的网络管理器
  • 从主机以混杂模式设置相对于容器的 veth
  • 在pipework脚本的macvlan配置中将模式从“bridge”修改为“passthru”
  • 在 docker-compose 文件的网络属性中将容器设置为网关

上述许多尝试导致容器的 eth0 接口“认为”它处于混杂模式,事实上 ifconfig 和 syslog(来自主机)都说它是,但容器仍然只能看到自己的流量。

我使用的是 Docker 1.11,容器内的基本映像是 Ubuntu 14.04:latest

下面列出了我的 docker-compose 文件提前致谢

docker-compose.yml

version: '2'

networks:

  snort_net:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.19.0.0/24
          gateway: 172.19.0.3

services:

   mysql:
     build:
       context: .
       dockerfile: MySql/MySqlFile
     environment:
       - MYSQL_ALLOW_EMPTY_PASSWORD=yes
     networks:
       snort_net:
         ipv4_address: 172.19.0.2

   snort:
     build:
       context: .
       dockerfile: Snort/SnortFile
     depends_on:
       - snorby
     env_file:
       - Snort/snort_variables.env
     networks:
       snort_net:
         ipv4_address: 172.19.0.3
     expose:
       - "80" …
Run Code Online (Sandbox Code Playgroud)

networking containers docker promiscuous-mode

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

containers ×1

docker ×1

networking ×1

promiscuous-mode ×1