New node setup issue with port forwarding but already checked all tools I can think of


I have set up port forwarding on both my node (through the windows firewall) and on the modem. I have tried looking at the port through and Both show the port as closed. I have tried setting a few different ports to see if that changes things and it didn’t. My netstat shows the port on the network, but not on my node’s IP. I’m not sure where else to go with this, could someone here help me out?
I am new and only allowed to embed 1 image, so I put all screenshots into one, here:

  • Windows Firewall setting on an incoming rule.
  • netstat -a|find /i “listening” command
  • Modem settings.
  • Docker is running and seems to be set up correctly.

Anything else I can look at? Dashboard says offline.


If I turn off Windows Firewall completely for public profile, the port is open according to the online tools. If I turn it on, even if I open it completely, it will show as closed.

I don’t like the idea of keeping the firewall open, but even just trying to run things with it that way, my storage is offline. My identity was authorized at 2 and 3, so I know that was set up correctly. Any ideas here as well?

If the open port check works with the public profile of the firewall disabled then you should double check the firewall rule applies to the Public profile:


Check the log file too?

All profiles were checked, which was weird. I’ll live with the public profile part since I’m on private and domain networks throughout the day anyway.

The log for my node (assuming that’s what you meant?) says this over and over:

Basically, connection refused. This was just taken and the public profile on the firewall is still open and I can still see that the port is open through online tools.

Looking at the pictures again, can you confirm how your ports are setup for each node? The forwarding rule above shows multiple external ports (28966-28968) going to a single node. Is my assumption below correct?

Node 1 - local port 28967 - router forwarding external port 28967
Node 2 - local port 24018 - router forwarding external port 24018

The log file seems to be for node 1, which was working? Or is there one node and I’m confusing myself?

I only have 1 node. The port being used for that node is 24018. I just got started with STORJ a couple of days ago and haven’t gotten it to work at all.

Ok, makes sense. The error log talks of 28967, which suggests a setting in your config.yaml is pointing to that port instead of 24018.

From what I understand from the documentation, that is still required. It’s just that I need to put the custom port in the first part.

I did try adding port 28967 to my modem and firewall, but that was before I turned off the public profile, so I will try adding it, setting up the node without the custom port number and see what happens.

Here’s what my .yaml file looks around the port info. image

I will try changing the server address so it looks like this:

EDIT: That failed and gave this error → Error: invalid server.address: lookup "24018" failed: lookup 24018: no such host

Other ideas?

contact.external-address: <external ip/ddns>:28967

should be the same port as:

server.address: :28967

So, it should not include the external IP?

When I opened my .yaml, that field looked like this:
contact.external-address: ""

Even though server.address: :28967 doesn’t include the external IP, I should have that included in the contact external address? Also, do I need to include the custom port number? So something like:
contact.external-address: <external IP>:24018:28967

This means you left the field blank during the setup process.

If all you are using now is port 28967 then it should be:

contact.external-address: <external IP>:28967

Here’s what it looks like now (the blacked out box is my external IP and I did open a port forward in both the firewall (even though the public profile is still open) and in my modem for 28967, but it didn’t resolve anything either):

Node service has been restarted after config.yaml change?

Firewall is disabled?

External IP is 100% correct, i.e. you’re not behind a double NAT router with a 10.x.x.x or 172.x.x.x address?

Any errors in the log file when the node starts?

The tool shows closed? and external IP matches above?

Node service has been restarted after config.yaml change?

Firewall is disabled?

External IP is 100% correct, i.e. you’re not behind a double NAT router with a 10.x.x.x or 172.x.x.x address?

Any errors in the log file when the node starts?

The tool shows closed? and external IP matches above?

Yes. Completely right now, no profile is on.
Same error as posted before.
I am going back through the setup to make sure I get everything correct. I’ll report back once I’m done with that.

Now this is the log. I want to point out that after doing the full re-install, and double checking my CLI commands, the .yaml file doesn’t have the settings I put in. For instance, my setup commands look like this:

docker run -d --restart unless-stopped --stop-timeout 300 -p 28967:28967 -p -e WALLET="<enterwalletNumberhere>" -e EMAIL="<emailaddress>" -e ADDRESS="<externalIP>:28967" -e STORAGE="3TB" --mount type=bind,source="<location of identity>",destination=/app/identity --mount type=bind,source="<location of storage directory>",destination=/app/config --name storagenode storjlabs/storagenode:latest

Yet when I open the .yaml file, there is no external-address, email, or wallet, and the disk-space is 1TB. Also, the fields that are blank have "" in them. When I changed

contact.external-address: ""

should I have put that in quotes? Like this:

contact.external-address: "<externalIP>:28967"

However, here are the logs now:

EDIT Scratch all that. After about 3 attempts at refreshing docker, suddenly I’m online. I did not use the quotes around the external-address, so that answers that.

Thank you so much for all the help. For anyone reading this at a later date, I hope all the details really helped.

That makes more sense. I thought you were running the node directly on Windows, not using docker. Docker setup commands run in place of of the settings being within the config.yaml.