Experimenting with UDP based protocols

made this because i found most of the pieces of how to set it all up a bit scattered all over the place.

3 Likes

hey guys i have windows docker node with to small buffer size also but the only solution to correct this is thru windows registry edit and i lack experience there so can some one give me a hand.

this should do i don’t expect the regedit names to have changed…

Not easy way. If you use wsl2 with Docker desktop:

  1. Modify /etc/sysctl.conf in the wsl2 and add net.core.rmem_max=2500000 to it
echo "net.core.rmem_max=2500000" >> /etc/sysctl.conf
  1. Configure wsl2 to run systemd:

if i will try it with my docker instance what i must change in the docker-compose.yml

docker-compose.yml

version: “3.2”

services:
storagenode:
container_name: storagenode
image: storjlabs/storagenode:latest
restart: unless-stopped
ports:
- “28967:28967”
- “14002:14002”
volumes:
- type: bind
source: /volume1/docker/storj/node1/identity
target: /app/identity
- type: bind
source: /volume2/storj/data
target: /app/config
environment:
- WALLET=xxxxxx
- EMAIL=xxxxx@xxxxx.xxx
- ADDRESS:28967=xxxxxx.ddns.net
- STORAGE=3TB
- STORJ_LOG_LEVEL=info

    ports:
      - "28967:28967/tcp"
      - "28967:28967/udp"
      - "14002:14002"

Regarding

You need to do that on host: https://docs.storj.io/node/dependencies/linux-configuration-for-udp

By the way,

is useless:

2 Likes

I installed go (via apt) but when I ran that last command, the last bit of output says:

build storj.io/common/rpc/quic: cannot load storj.io/common/rpc/quic: no Go source files

*** Update ***
Note this alternative for testing whether you have UDP ports fowarding properly, found in another thread on this forum:
http://storjnet.info/ping_my_node

What about if the node was installed using windows GUI, without the DOCKER?

Then you only need to forward UDP 28967 on your router (in addition to TCP 28967) and add an inbound rule for UDP 28967 to your firewall (in addition to TCP 28967), then restart the storagenode service.
That’s all.

So I’m behind CGNAT and have tunnelled through that, as described in my tutorial post.

Portmap.io only allow one redirection with their free service, so I can choose tcp or udp, but not both. Will using quic become mandatory? It seems I can’t use it.

If I understand it correctly, Mysterium let you run a VPN service node behind CGNAT, without any port forwarding. Why does this not work with Storj?

The udp and QUIC are not mandatory, there would be a fallback to tcp anyway.

Mysterium node is connecting to peers and can transfer traffic. This is not a server-like behavior. While connection established with other peers - you can transfer traffic both ways.

But if your node doesn’t have established connection tunnel to other Mysterium nodes, the other nodes cannot connect to your Mysterium node behind CGNAT too (because it doesn’t have a public IP).

In case of Storj to make node work without port forwarding you need to have a tunnel to other nodes to be able to transfer customers traffic. We have had this in v2. But here is a question - who will pay for tunneling?
The traffic is not free, for proxy node this would mean that it will have double ingress and egress, but will be paid only in half - there is no incentive for node to be a proxy for someone.
If we change the behavior and will pay for full egress to the proxy node, your node will never be paid for egress traffic. Is it economically viable for you?
And only half of the ingress will be paid (as a payment for storing pieces) to a proxy node, so again - no incentive for proxy node. If we would start to pay for ingress, we should stop pay for stored data. This is mean, if there is no ingress, the node will not be paid, even if it store data. And in this case your node will not receive payment for storing too. So you will run your node for free.
Is it economically viable?

My understanding is that it IS possible for other nodes to connect to me. Just how that works I don’t know. So far I could not test it, because I have been unable to buy the token needed to activate my node.

Stuff that is this complicated to set up will never go mainstream.

Only AFTER your node connected to other nodes in Mysterium network. However, their nodes requires port forwarding too, see their docs.

It will not help in case of Storj node unless they implement a port forwarding feature trough Mysterium.

Ok, thanks. I didn’t see that, even though I was looking for it.

1 Like

Hi all,

Apologies is this was answered and I missed it. However, on the node dashboard it says my QUICK is configured (and I verified that my UDP are port forwarded). However, when I use the ping tool (Pingdom), I get the following:

- started
-
- via: St.Petersburg, Russia
-
- via: France (proxy, no QUIC)
-
- done.

Does that mean my QUICK is not working?

It’s designed for http, but node uses dRPC. So, if your dashboard shows that QUIC is ok - then it’s ok.

1 Like

sounds good, are there any logs or anything else I can do to verify (just like to double check things)?

I meant is there a specific message in the log at a certain log level, that tells me if quic is configured properly or not

You may see such warnings, if QUIC have not configured:

1 Like