Hola,
Tengo dos hosts que tienen Docker (1.13.0) integrado con Flannel (0.5.5):
host1: eth0/192.168.5.1, flannel0/10.1.89.0, docker0/10.1.89.1
host2: eth0/192.168.5.2, flannel0/10.1.69.0, docker0/10.1.69.1
Hay un contenedor ejecutándose en host1 cuya IP es 10.1.89.2, puedo hacer ping desde host1, pero no puedo hacer ping desde host2 o desde cualquier contenedor en host2.
Aquí está la salida de tcpdump en host1 cuando hago ping a 10.1.89.2 desde host2:
# tcpdump -nni eth0 host 192.168.5.1 and 192.168.5.2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:07:19.207158 IP 192.168.5.2.8285 > 192.168.5.1.8285: UDP, length 84
22:07:20.207372 IP 192.168.5.2.8285 > 192.168.5.1.8285: UDP, length 84
22:07:21.207464 IP 192.168.5.2.8285 > 192.168.5.1.8285: UDP, length 84
...
# tcpdump -nni flannel0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on flannel0, link-type RAW (Raw IP), capture size 262144 bytes
22:09:14.556410 IP 10.1.69.0 > 10.1.89.2: ICMP echo request, id 19788, seq 4, length 64
22:09:15.556218 IP 10.1.69.0 > 10.1.89.2: ICMP echo request, id 19788, seq 5, length 64
22:09:16.556210 IP 10.1.69.0 > 10.1.89.2: ICMP echo request, id 19788, seq 6, length 64
Y no hay ninguna salida de tcpdump -nni docker0 icmp
. Entonces, parece que los paquetes no se entregaron desde flannel0 a docker0 en host1.
¿Alguna idea sobre lo que está mal en mi entorno? ¡Gracias!
sudo iptables -P FORWARD ACCEPT
arregla esto.
Registro de cambios de Docker
Funciona, gracias @adaiguoguo !!!
El mismo problema aquí, trabajé con @adaiguoguo , ¡
También me encontré con que resulta que este problema se ha resuelto.
funciona para mí, debería ahorrar mis horas si vi esto antes, ¡genial!
Muchas gracias @adaiguoguo
Funciona
Comentario más útil
sudo iptables -P FORWARD ACCEPT
arregla esto.Registro de cambios de Docker