tomeshnet / meshstream

Live video stream with a distributed file system over a physical mesh network
GNU General Public License v3.0
22 stars 4 forks source link

IPNS stopped resolving on one node no matter what I do #13

Closed benhylau closed 6 years ago

benhylau commented 6 years ago

Publisher node:

pi@tomesh-fd13:~ $ echo hello | ipfs add -Q | ipfs name publish
Published to QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6: /ipfs/QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
pi@tomesh-fd13:~ $ ipfs name resolve QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
/ipfs/QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN

Resolver node:

pi@tomesh-d422:~ $ ipfs swarm peers
/ip6/fc26:7928:54fe:33ea:52a4:590:843e:fd13/tcp/4001/ipfs/QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
pi@tomesh-d422:~ $ ipfs name resolve QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
Error: could not resolve name

Note that both nodes will happily publish and resolve their own IPNS. The Publisher node fd13 will also resolve IPNS published by the other node d422, just not the other way around.

Tried restarting ipfs daemon, rebooted systems, deleting ~/.ipfs on both nodes and reinitialized. This started occurring soon after I did two things (not sure if related):

When this started happening, pubsub flag was enabled on the daemon, and at some point I turned it off on both nodes trying to take that factor out.

benhylau commented 6 years ago

Also tried removing all bootstrap peers except the last one, ipfs add bootstrap bidirectionally, re-enable pubsub, still does not resolve:

pi@tomesh-d422:~ $ ipfs bootstrap
/dnsaddr/bootstrap.libp2p.io/ipfs/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN
/dnsaddr/bootstrap.libp2p.io/ipfs/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa
/dnsaddr/bootstrap.libp2p.io/ipfs/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb
/dnsaddr/bootstrap.libp2p.io/ipfs/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt
/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
/ip4/104.236.179.241/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM
/ip4/104.236.76.40/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64
/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu
/ip4/178.62.158.247/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd
/ip6/2400:6180:0:d0::151:6001/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu
/ip6/2604:a880:1:20::203:d001/tcp/4001/ipfs/QmSoLPppuBtQSGwKDZT2M73ULpjvfd3aZ6ha4oFGL1KrGM
/ip6/2604:a880:800:10::4a:5001/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64
/ip6/2a03:b0c0:0:1010::23:1001/tcp/4001/ipfs/QmSoLer265NRgSp2LA3dPaeykiS1J6DifTC88f5uVQKNAd
/ip6/fc26:7928:54fe:33ea:52a4:590:843e:fd13/tcp/4001/ipfs/QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
pi@tomesh-d422:~ $ systemctl status ipfs
● ipfs.service - IPFS daemon
   Loaded: loaded (/etc/systemd/system/ipfs.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-07-27 01:42:24 UTC; 4min 12s ago
 Main PID: 30263 (ipfs)
   CGroup: /system.slice/ipfs.service
           └─30263 /usr/local/bin/ipfs daemon --enable-namesys-pubsub

Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm listening on /p2p-circuit/ipfs/QmT62SM3BsHSeK6bB5sVUxcqNNqETpFoupj
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm announcing /ip4/10.0.0.1/tcp/4001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm announcing /ip4/102.168.10.2/tcp/4001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm announcing /ip4/127.0.0.1/tcp/4001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm announcing /ip6/::1/tcp/4001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm announcing /ip6/fcb8:7084:ab1c:c6a4:b960:a530:e2d9:d422/tcp/4001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Swarm announcing /ip6/fdfc::2/tcp/4001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: API server listening on /ip4/127.0.0.1/tcp/5001
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Jul 27 01:42:25 tomesh-d422 ipfs[30263]: Daemon is ready
pi@tomesh-d422:~ $ echo hey | ipfs add -Q | ipfs name publish
Published to QmT62SM3BsHSeK6bB5sVUxcqNNqETpFoupjqfDCwXXQvnw: /ipfs/QmVvUkSZqM2EG1SK9s49uN6pizNhXVFHpuJgh53my4A4pP
pi@tomesh-d422:~ $ ipfs name resolve QmT62SM3BsHSeK6bB5sVUxcqNNqETpFoupjqfDCwXXQvnw # self
/ipfs/QmVvUkSZqM2EG1SK9s49uN6pizNhXVFHpuJgh53my4A4pP
pi@tomesh-d422:~ $ ipfs name resolve QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6 # remote
Error: could not resolve name
benhylau commented 6 years ago

@lgierth to your question:

pi@tomesh-d422:~ $ ipfs pubsub peers
QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
pi@tomesh-d422:~ $ ipfs pubsub ls
/ipns/QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
pi@tomesh-d422:~ $ ipfs name resolve QmV3o6Sck81s9dwGkmWbLhnF8728Vd2t3isqWS91zuiZj6
Error: could not resolve name
Stebalien commented 6 years ago

What version of go-ipfs are you using?

benhylau commented 6 years ago

ipfs version 0.4.15

benhylau commented 6 years ago

Okay found the issue, one device was connected to the internet at one point, so it NTP synced and Publisher node was 5 days behind in its time, so the Resolver refused to talk to it.

Basically I connected Streamer to home router, dhclient eth0, and resolution starts working again on the other side.