weaveworks / weave

Simple, resilient multi-host containers networking and more.
https://www.weave.works
Apache License 2.0
6.62k stars 671 forks source link

The network fails on a single machine #3969

Open zhaixiaojuan opened 1 year ago

zhaixiaojuan commented 1 year ago

I started two containers on one machine, but I can't ping between the two containers. The use environment is as follows:

root@loongson:~# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux bookworm/sid"
NAME="Debian GNU/Linux"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@loongson:~# uname -a
Linux loongson 6.0.0-5-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.0.10-1 (2022-11-26) x86_64 GNU/Linux

Start the weave service:

weave launch
eval $(weave env)
weave expose
docker run -itd --name=test1 debian:10
docker run -itd --name=test2 debian:10

root@loongson:~# weave ps
weave:expose 52:06:e4:28:d6:ca 10.38.0.2/12
05cfa9b78444 ce:3a:de:cc:5f:db 10.38.0.1/12    //test2
3eb48ccd52d8 fe:25:c8:38:24:aa 10.38.0.0/12    //test1

root@loongson:~# weave version
weave script unreleased
weave git-34de0b10a69c

tes1 ping test2:

root@test1:/# ping 10.38.0.1
PING 10.38.0.1 (10.38.0.1) 56(84) bytes of data.

Use tcmp to capture packets and find that arp is normal, but there is no response to ICMP packets:

root@loongson:~# tcpdump -i weave -vv
tcpdump: listening on weave, link-type EN10MB (Ethernet), snapshot length 262144 bytes
20:57:03.744514 IP (tos 0x0, ttl 64, id 21602, offset 0, flags [DF], proto ICMP (1), length 84)
    10.38.0.0 > 10.38.0.1: ICMP echo request, id 7, seq 1, length 64
20:57:04.763955 IP (tos 0x0, ttl 64, id 21754, offset 0, flags [DF], proto ICMP (1), length 84)
    10.38.0.0 > 10.38.0.1: ICMP echo request, id 7, seq 2, length 64
20:57:05.755870 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.38.0.1 tell 10.38.0.0, length 28
20:57:05.755940 ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.38.0.1 is-at ce:3a:de:cc:5f:db (oui Unknown), length 28
20:57:05.787780 IP (tos 0x0, ttl 64, id 21844, offset 0, flags [DF], proto ICMP (1), length 84)
    10.38.0.0 > 10.38.0.1: ICMP echo request, id 7, seq 3, length 64
20:57:06.811793 IP (tos 0x0, ttl 64, id 21962, offset 0, flags [DF], proto ICMP (1), length 84)
    10.38.0.0 > 10.38.0.1: ICMP echo request, id 7, seq 4, length 64
20:57:07.835774 IP (tos 0x0, ttl 64, id 22186, offset 0, flags [DF], proto ICMP (1), length 84)
    10.38.0.0 > 10.38.0.1: ICMP echo request, id 7, seq 5, length 64
20:57:08.859958 IP (tos 0x0, ttl 64, id 22261, offset 0, flags [DF], proto ICMP (1), length 84)
    10.38.0.0 > 10.38.0.1: ICMP echo request, id 7, seq 6, length 64
20:57:09.883918 IP (tos 0x0, ttl 64, id 22394, offset 0, flags [DF], proto ICMP (1), length 84)