compose une architecture de 3 services et un réseau virtuel ponté auquel les trois services sont rattachés. Je veux que l'un des conteneurs soit capable d'écouter tout le trafic dans le réseau virtuel (mode promiscuous). C'est possible? J'ai essayé presque tout mais rien ne semble fonctionner.L'interface réseau de Docker Container en mode promiscuité
Ce que j'ai essayé:
- Donner les privilèges au conteneur
- Paramétrage de l'interface conteneur eth0 promiscuous (ifconfig eth0 promisc)
- redémarrer le gestionnaire de réseau à l'intérieur du conteneur
- régler le veth relatif au conteneur en mode promiscuous à partir de la machine hôte
- modifier le mode de "pont" à "passthru" dans la configuration macvlan à partir de la tuyauterie s Cript
- mettre le conteneur en tant que passerelle dans les propriétés du réseau du fichier docker-Compose
beaucoup des résultats des tentatives ci-dessus dans l'interface eth0 du conteneur à « penser », il est en mode promiscuous, en fait à la fois ifconfig et syslog (de l'hôte) le disent, mais le conteneur ne voit toujours que son propre trafic.
J'utilise Docker 1.11 et l'image de base à l'intérieur du conteneur est Ubuntu 14.04: dernière
Ci-dessous figure mon fichier docker-Compose Merci à l'avance
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"
- "21"
ports:
- "10100:80"
- "10101:80/udp"
- "21:21"
cap_add:
- NET_ADMIN
privileged: true
snorby:
build:
context: .
dockerfile: Snorby/SnorbyFile
depends_on:
- mysql
env_file:
- Snorby/snorby_variables.env
networks:
snort_net:
ipv4_address: 172.19.0.4
ports:
- "3000:3000"