Port Forwarding won't open, Node Offline

Hello, I recently set up a Storj node. I first tried to do it by setting up port forwarding on my router, but when I launched the node it says “Offline”. When I checked if the port was open it showed my public IP address 168.xxx and when I put in port 28967 it showed it was closed. I then uninstalled Storj, set up a noip account, and reinstalled Storj. I followed the steps to add the DDNS to my router. However I am still getting “Offline” for the Storj node and when I check the public IP address 168.xxx with port 28967 it still shows closed. I added my local IPv4 address with port 28967 to the router. I don’t know what else to do. I would appreciate any help!

Welcome to the forum @alacey425 !

Can you show last 20 lines of the log ?

Hi. Just a small advice - make sure you inputted all required settings for port forwarding in your router, in a correct way.
Settings differ from one model to other to some extent, but there should be:

  1. Input - Network interface (connection, from which incoming traffic will be coming).
  2. Output - your device, to which port will be opened (usually specified by its IP address within your local network).
  3. Protocol - TCP/UDP, you have to select required.
  4. Port number - the one which you want to open.
  5. Check if this port number is the same that you input in storj config.

Hello, it is just repeating this log:

2021-03-16T13:12:49.020-0700    ERROR   contact:service ping satellite failed   {"Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 9, "error": "ping satellite error: failed to dial storage node (ID: 1XF7uSzz5KPEdnkMWWTeYNHem9bDydx4Qhy5PmEVpgskh4ioxT) at address graystorj.ddns.net:28967: rpc: dial tcp 66.135.163.185:28967: i/o timeout", "errorVerbose": "ping satellite error: failed to dial storage node (ID: 1XF7uSzz5KPEdnkMWWTeYNHem9bDydx4Qhy5PmEVpgskh4ioxT) at address graystorj.ddns.net:28967: rpc: dial tcp 66.135.163.185:28967: i/o timeout\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatelliteOnce:141\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:95\n\tstorj.io/storj/storagenode/contact.(*Chore).updateCycles.func1:87\n\tstorj.io/common/sync2.(*Cycle).Run:152\n\tstorj.io/common/sync2.(*Cycle).Start.func1:71\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57"}
2021-03-16T13:14:48.720-0700    ERROR   contact:service ping satellite failed   {"Satellite ID": "12tRQrMTWUWwzwGh18i7Fqs67kmdhH9t6aToeiwbo5mfS2rUmo", "attempts": 10, "error": "ping satellite error: failed to dial storage node (ID: 1XF7uSzz5KPEdnkMWWTeYNHem9bDydx4Qhy5PmEVpgskh4ioxT) at address graystorj.ddns.net:28967: rpc: dial tcp 66.135.163.185:28967: i/o timeout", "errorVerbose": "ping satellite error: failed to dial storage node (ID: 1XF7uSzz5KPEdnkMWWTeYNHem9bDydx4Qhy5PmEVpgskh4ioxT) at address graystorj.ddns.net:28967: rpc: dial tcp 66.135.163.185:28967: i/o timeout\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatelliteOnce:141\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:95\n\tstorj.io/storj/storagenode/contact.(*Chore).updateCycles.func1:87\n\tstorj.io/common/sync2.(*Cycle).Run:152\n\tstorj.io/common/sync2.(*Cycle).Start.func1:71\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57"}

port forwarding

Hello, I followed the instructions to get my IPv4 address in Powershell and then added port forwarding instructions on my router for this IP address. The port is 28967. My IPv4 address is different from the external IP address (66.135.163.185) on my device, which is why I tried to use NOIP.

In the logs it shows that it is trying to go through my external IP address. Do I need to enable something for this to work?

Also, on my router my WAN connection type is set to “Dynamic”. Do I need to change that to “Static”?

Here is a screenshot showing the external IP and port 28967 is closed.tester

Hello @alacey425,
Welcome to the forum!

The NoIP cannot help, if your ISP placed you behind their NAT. If your WAN IP on your router do not match the public IP, you have several options:

  • call to your ISP and ask them to give you a public IP. It can be dynamic, but must be a public (WAN IP match the public IP). You can say that you need to have an access to your security IP cam from everywhere, this will allow you to do not explain Storj to support;
  • switch ISP to the one, who offer a public IP;
  • use VPN with port forwarding option, such as portmap.io, ngrok, PIA, AirVPN, PureVPN, etc.
1 Like

Everything seems fine as for port-forwarding.
I think you should check issue which Alexey recommended about difference in public IP and WAN IP (WAN is the one that shows in your router settings when you view your internet connection settings in there).
Also, to clear some possible misunderstandings, the IP that you input in port forwarding section is the IP of your PC within your local network, it should be different from public IP and WAN IP, as it serves a purpose of telling your router for which local device to open port to.
So, as Alexey recommends, you should start with checking if your WAN IP (IP from provider, which your router reports) is same or different from Public IP which you can see on sites like 2ip and so on.

Well, first you need to check if your public IP matches WAN IP. If so, then you need to consider this setting - if your IP is constant, then you should leave it at static.

The public and WAN IP on the router are different. So I can try the VPN solution. Will this give me a new IP address to use in the storj installation?

Yes, you will get different IP which you can use as a replacement for public IP for storj config. I have same feature from PIA VPN, it even gives you static public IP (but i don’t use it since my ISP is ok in this relation). I recommend to get trial for VPN first, because there may be some hidden difficulties during setup, which I may not be aware of, so you won’t spend money for nothing.
Make sure to also enable port-forwarding function and public IP function in VPN application itself (at least that is required in PIA VPN). Other VPN providers may do it differently.

Thank you, I will give it a try in a few hours when I’m off work. Appreciate the help I’ll let you know if it works or not.

@Krimarai @alacey425
Not all VPN services provides port forwarding feature, so search for VPN with port forwarding, otherwise it won’t help.
However, I would like to suggest to call to your ISP first, they usually can offer a dynamic public IP even for free.

1 Like

Hello @Krimarai and @Alexey I’ve spent about three hours searching the internet and forum for answers but couldn’t come up with a solution. My ISP said it wasn’t something they were familiar with so I set up on portmap.io today. It assigned me an IP 10.9.xxx and Port “abcde”. I set up a mapping rule to forward to port 28967. I reinstalled Storj and I added “myusername-abcde.portmap.io:abcde” to the config.yaml file in the Storj folder. It shows connection is successful in OVPN.
Issue 1:
It is still showing that my Storj node is still offline.

Issue 2:
I checked the provided IP and port from portmap.io with Open Port Check Tool - Test Port Forwarding on Your Router. It is showing that the portmap.io IP address and Port are not open. When I go to check my IP address on this website it still shows my external IP address is 66.135.163.185.

Is this normal?

Do I have the right format in the config.yaml file?
Should I include in the config.yaml file the full: tcp://username-xxxxx.portmap.io:xxxxx => 28967?

Do I need to edit the console address 1xx.x.x.x:14002?

You need to specify the address from portmap.io and given port in the contact.external-address: option of the config file "C:\Program Files\Storj\Storage Node\config.yaml" in case of Windows GUI or in the -e ADDRESS option in case of Docker

contact.external-address: myusername-abcde.portmap.io:abcde

On yougetsignal you should put myusername-abcde.portmap.io to the Remote Address field and abcde port to the Port field, then click Check
If you made modifications in the config.yaml, make sure to save the config explicitly, because Notepad++ will not offer to save the file, when you close it.
The storagenode need to be restarted after that from the Services applet or elevated PowerShell:

Restart-Service storagenode

In case of Docker it is

docker restart -t 300 storagenode
1 Like

@Alexey @Krimarai I just uninstalled and deleted all files. Then reinstalled and it worked this time upon restart! It says I am online.

I have a second hard drive. Can I run two nodes on the same computer?

Thank you for the help

Yes, it’s. The official recommendation is to use Docker for second and next nodes on the same PC: CLI Install - Storj
The official Windows installer can install only one node on the one Windows PC.
However you can use Community Windows Toolbox made by @Vadim, it can install more than one Windows node on the same PC.

Keep in mind - more nodes will not increase traffic, all nodes behind the same /24 subnet of public IPs treated as a one node for uploads, but audited independently. This is because we want to be decentralized as much as possible.

Does this code look correct?

docker run --rm -e SETUP="true" --mount type=bind,source="E:\storj2",destination=/app/identity --mount type=bind,source="E:\StorjData2",destination=/app/config --name storagenode2 storjlabs/storagenode:latest

I used the ./identity.exe create storagenode2 command to generate a second identity in my new E: hard drive. It is currently running.

Yes, if you moved identity files from the "$env:AppData\Storj\Identity\storagenode2" to the E:\storj2

I am glad it worked out for you in the end. As Alexey says, you can run several nodes. I am not that expirienced with windows-related setup, since I am using docker, and I just created a second container for second HDD. General recommendation is to run 1 hdd per 1 node for data safety and economy reasons. This is the most efficient setup.

1 Like