hi @svet0slav
This is bad, it means the satellite thinks the storage node is offline. There is some issue with the node, the port, the port forwarding, the router, the internet connection or even DNS.
The second error is a docker/firewall issue locally.
Would appreciate some help from STORJ staff. Nodes are already set up, but docker/iptables problems prevent them from working. How does this affect reputation?
This looks like the node still can’t be reached by the satellites. You could try this community built tool to ping the nodes, since it will try to initiate an RPC to the node to tell if the node itself is responding, whereas a simple ping toll will only tell you if the port is open and something is responding.
Ports are open, but docker does not want to let the container connect to the outside world…
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49fd73d0b1b5 storjlabs/storagenode:latest "/entrypoint" 38 minutes ago Up 28 minutes 11.22.33.44:14002->14002/tcp, 11.22.33.44:28969->28967/tcp, 11.22.33.44:28969->28967/udp node3
Other nodes on the same machine configured in the very same way, just different port/subnet/ip,nodename, address, folder… Checkmate!
Is it at all possible that TCP port 28969 is already being used by something else on the network? At this point I would try using some other high number port just to see what happens.
I appreciate you are trying to help, but this is not it. I checked with lsof already. I even tried setting up docker networks, but when I create the docker containers with specific network and ip, it says the address is in use, BUT IT IS NOT. I tried many things to no avail. What seems to work with some nodes is to specify the IP of node directly, not just port.
Pretty sure this issue is some docker ↔ iptables thing, but not sure how docker screws up with iptables. No matter I completely disable firewall, issue persists across reboots of machine with multiple nodes. Some nodes start, some not - at random.
I was just about to say that you don’t normally need to specify the IP of the node in the -p parameter of the docker run command. My understanding of iptables/local networking is superficial at best, but I think by specifying the node IP you are telling the node to bind those ports to the loopback interface instead of the external interface?
4 network card ports - 4 different IPs each on different /24. All IPs are pingable from the outside world. Ports are open. This is some docker/iptables thing. Docker does not let the container to communicate with the outside world, no matter the machine network and config allow it.
No firewall enabled. When I enable firewall - nothing happens. Nodes work, but not this node.
When I disable firewall, can’t start this node because this deletes the docker chain…
docker: Error response from daemon: driver failed programming external connectivity on endpoint storagenode (3ceabf1abd47cc2585296527a009f8b38dcf3c81a7293d30bb6b9936b3f4aabd): (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.6 --dport 28967 -j ACCEPT: iptables: No chain/target/match by that name.
I restart the server and then some random nodes work, some not - same issue, but on other nodes. Do not know what to say, except it points me to docker’s iptables screwups.
Docker is running. Node is running, IP pingable from outside world, ports open, docker container running, but cannot communicate with the outside world.
I even tried adding the vethXXXXXXX manually and bringing it up to no avail.
I am reinstalling the system and creating the nodes one by one again, to see what happens…