Bonjour à tous,
je bloque sur un problème réseau suite à l'installation de Docker et de
Filestash comme conteneur.
Configuration:
Serveur Debian avec:
- eth0 = 192.168.1.100
- br0 bridge avec eth1 = 192.168.1.101
- vnet0 = interface de la VM KVM
Docker a rajouter 3 interfaces (les 2 propres à Docker (docker0 + br-4edbd5a6a8d3) + celle que le conteneur lance veth8154c09)
- docker0 = 172.17.0.1
- br-4edbd5a6a8d3 = 172.18.0.1
- veth8154c09
- Adresse du conteneur docker = 172.18.0.2
PC sur le réseau local = 192.168.1.50
J'utilise KVM qui utilise br0 comme source avec une VM qui utilise donc vnet0, suite à l'installation de Docker, impossible de joindre cette VM, j'ai corrigé le pb avec l'ajout d'une règle iptables:
iptables -A FORWARD -i br0 -o br0 -j ACCEPT
Jusque la, RAS, tout fonctionne bien comme voulu et comme avant que j'installe Docker.
Mnt, le vif du sujet, le conteneur Docker écoute sur:
0.0.0.0:8334->8334/tcp
Un netstat me donne:
tcp6 0 0 [::]:8334 [::]:* LISTEN
Depuis mon PC sur le réseau local, j'arrive bien à le joindre sur
http://192.168.1.100:8334/, Filestash fonctionne très bien.
Par contre depuis l'host en lui même, impossible de joindre ce conteneur...
Un curl -vv
http://192.168.1.100:8334/ me retourne:
* Expire in 0 ms for 6 (transfer 0x56202813cf90)
* Trying 192.168.1.100...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x56202813cf90)
^C
Un curl -vv
http://0.0.0.0:8334/ me retournne:
* Expire in 0 ms for 6 (transfer 0x55b9a8716f90)
* Trying 0.0.0.0...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b9a8716f90)
* Connected to 0.0.0.0 (127.0.0.1) port 8334 (#0)
> GET / HTTP/1.1
> Host: 0.0.0.0:8334
> User-Agent: curl/7.64.0
> Accept: */*
>
^C
Coté iptables voila ce que j'ai en rapport avec Docker (ce n'est pas moi qui ai rajouté les règles,):
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-USER
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o br-4edbd5a6a8d3 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-4edbd5a6a8d3 -j DOCKER
-A FORWARD -i br-4edbd5a6a8d3 ! -o br-4edbd5a6a8d3 -j ACCEPT
-A FORWARD -i br-4edbd5a6a8d3 -o br-4edbd5a6a8d3 -j ACCEPT
-A DOCKER -d 172.18.0.2/32 ! -i br-4edbd5a6a8d3 -o br-4edbd5a6a8d3 -p tcp -m tcp --dport 8334 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-4edbd5a6a8d3 ! -o br-4edbd5a6a8d3 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-4edbd5a6a8d3 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
Avez vous une idée de ce qui cloche ?
Merci à ceux qui prendront le temps de m'aider
