Port Forwarding 8333 to 9333

Hey guys, I’ve been told we need to use port forwarding to get umbrel running smoothly. I was told Bitcoin Knots runs on 9333 and Bitcoin core runs on 8333 and that I should forward port 8333 to 9333. Anyone know about this? Is it accurate? Any feedback would be much appreciated. Thanks in advance!

I have my external port set as 8333 and internal set as 9333 and my Knots node has over 120 connections.

1 Like

That’s what I’m talking about! I can’t figure out how to port forward mine. I’ve tried everything so the best I can get is about 40 connections. That is exactly what I’m trying to do to support the blockchain. I have an older Century Link DSL Modem and I can’t figure out how to do what you did. But well done. I understand that is what needs to be done.

You have to access the Admin UI of your Century Link and enable port forwarding. You will also need to have your UmbrelOS on a Static IP Address to insure that it does not get assigned another IP Address.

Did you Google it?

Bummer. Looks like having a static IP is the solution. I currently have a dynamic IP but Centurylink won’t lease me one unless I upgrade to a business account (more money) and they would also have to send a technician out to install a new router. So I would pay for the tech $150 as well as the increased monthly fee for the “business account” and the additional monthly fee for the Static IP address on top of that. All this just to forward a simple port. The kicker is I live in an area that only one ISP serves, so they have a monopoly and can charge whatever they want to. Thanks for the reply. I guess I need to decide if it’s worth the expense.

You don’t need a static public IP for port forwarding, IP forwarding is handled by your router.

If they told you that you need a static IP for that, and upgrade your plan then that’s 100% a lie and they just want to squeeze some money out of you.

If you can access the admin dashboard of your modem-router you should look for something like “port mapping”, “port forwarding” or something similar. In case there’s no such thing you could buy a router, that would be way cheaper than whatever they want to charge you.

You should also set up a static IP (and this is LOCALLY) for your Umbrel device at least.

1 Like

Yes, even used two different AI models to walk me though it. Nothing has worked so far and I’ve used both the linux terminal and router settings.

Finally! An honest perspective… and yes, I set the local Umbrel ip to static on the LAN. I currently have port 8333 and 9333 pointed to the correct IP (Umbrels main IP) in the router which it told me to do. But 8333 is still invisible to the Internet. Linux terminal doesn’t show 8333 as open. I’m assuming due to the fact I’m running the knots app on umbrel which uses 9333.

I’ve been trying to do this on and off for a month and I’ve enlisted the assistance of different AI models. I’ve set every setting (router included) I’ve been told or can imagine to do, to no avail. Even used Linux commands on the umbrel machine to open and forward port 8333 (9333 is already open (Bitcoin Knots uses port 9333) and taking requests from the blockchain, 8333 is closed. Linux ignores the commands. Port forwarding the router hasn’t worked. At least not the way I’m doing it.

I must be missing something. I’m pretty tech and PC savvy but have little to no networking or linux experience so I’ve just done what the AI’s told me to do in both router and terminal in umbrel to no avail. I wouldn’t be opposed to hiring one of you guys who has extensive knowledge and experience to login using Rust Deck while I watch you take care of this. I’d be willing to pay (In BTC if preferred) if we could come up with a mutually agreed upon fair price. I’d want to watch of course for security reasons and primarily for learning.

This is driving me crazy. I set this whole thing up but I’m stuck on this one thing and believe me when I tell you I’ve tried EVERYTHING over the past month. Finally give up, then later come back and take another stab at it. I need a network guy! LOL

All I know for certain is I’ve been told by fin (Umbrels excellent AI) that I need to forward port 8333 (used by bitcoin core) to port 9333 (used by bitcoin knots which is what I’m running) so they both can exchange data via my bitcoin Knots. 9333 is open and working great. I have about 40 connections but that’s it. 8333 won’t open and isn’t feeding anything anywhere. Thanks for your response.

Check in your Knots settings that you’re not limited to only 40 connections. Without port forwarding you should get 10 max so it sounds like something is working right with you having 40 connections.

1 Like

I think I have a better understanding now and with what @Pinipon88 added is what I was trying to say before … your UmbrelOS needs to have an assigned IP Address on your local network.

Now, as you say PORT 9333 is open on your Umbrel and working. So you want to make sure your In-coming Public IP Address is forwarding to your Umbrel from your Router’s Admin UI.

You want to map Port 9333 → Umbrel’s IP 9333

and

Port 8333 → Umbrel’s IP 9333

So that both Ports to so the same port on your UmbrelOS.

Hope that helps.

1 Like

Thanks. Been there, done that. It doesn’t allow me to point 8333 to 9333 it says something like “another rule prevents adding this one” When I delete all rules and try to forward just the 8333 to 9333 it says my exterior port is invalid. I used 0.0.0.0 for remote IP Address (in the second image below) and when I try to save it, it says it’s an invalid IP. Currently I have both 8333 and 9333 forwarded to my umbrel IP address and 9333 is open because it’s open on umbrel/linux but 8333 is closed and doesn’t allow public access. I have an old router. Centurylink Technacolor C2100T. Forwarding looks like this… Below this image the define IP address option shows what changes in my options…

When choosing the option to “Define IP Address” above, that field changes to this…

So, it appears that your router will not do port forwarding translations. Meaning, taking the incoming Port 8333 and forward it to your 192.168.0.32:9333

From the screen shot above, it will forward them individually but not cross map it.

It would seem you will need to change the Docker Container Networking to do this for you. I currently do not have Bitcoin Knots installed but I will see if I can setup a Test Environment up later this weekend.

1 Like

Yeah, That makes sense. I considered the fact that my modem/router is VERY old and may not have the port forwarding features I need. I did buy a newly used centurylink C3000Z modem/router but I don’t have a clue about how to install and configure it, other than I can plug it in :slight_smile: Thanks for your feedback. It’s much appreciated. Hopefully this will help someone else as well.

1 Like

I want to formally thank everyone who has responded to my query. It really has helped in my understanding of what is going on. I’m learning. I consider myself fairly intelligent and somewhat computer savvy. Just never had the opportunity to learn more about Linux and Docker.

Based on the replies I’ve gotten, I gather I have two problems here. 1. My modem is very old and I need to update it to have the features necessary to do the necessary port forwarding. I may have to:

1. Call Centurylink and ask how much they would charge me to send a tech to install my new modem with the required settings.
and
2. The reason the linux commands to open port 8333, forward it to 9333 and save these settings, doesn’t work is I’m not actually dropping to Linux when I use the Umbrel terminal. I’m actually working in a Umbrel “Docker” instance which I think is limiting me in some way.

Question: Isn’t there an app in Umbrel that allows you to manage docker containers? Could that possibly be a work around as I believe RobB implied above?

Sadly, the only thing I know about docker is that it’s some sort of “virtual machine” (using windows terminology) that runs programs in containers, while keeping them somewhat isolated from other programs, unless necessary.

I’ve always wanted to run/try Linux and I have taken a couple shots at it in the past with Ubuntu and Mint but the required knowledge of terminal commands has always scared me away.

Thanks again guys!

Yes, there is a “docker” command that controls the containers. It runs with root authority so you need to prefix the command with “sudo” and enter in the UmbrelOS Password you setup.

umbrel@umbrel:~$ sudo docker
Usage: docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
run Create and run a new container from an image
exec Execute a command in a running container
ps List containers
build Build an image from a Dockerfile
bake Build from a file
pull Download an image from a registry
push Upload an image to a registry
images List images
login Authenticate to a registry
logout Log out from a registry
search Search Docker Hub for images
version Show the Docker version information
info Display system-wide information

Well … I have no idea if this is what you want … but you can edit the docker-compose.yml file and have the port forwarded from there.

Stop Bitcon Knots from Umbrel UI

ssh umbrel@umbrel.local # or your Umbrel IP Address
cd /home/umbrel/umbrel/app-data/bitcoin-knots

Backup a copy of the file to be safe

cp docker-compose.yml docker-compose.yml.backup
nano docker-compose.yml

At line 17 – before volumes: Add in this line:

  - ‘8333:9333’

Save and exit the file.

Start Bitcoin Knots from the Umbrel UI

sudo docker ps

Should now show that it is mapping incoming 8333 to 9333 to the Knots container:

991bfc49e048 Package umbrel-bitcoin-knots · GitHub “docker-entrypoint.s…” 8 seconds ago Up 7 seconds 3000/tcp, 8332-8333/tcp, 0.0.0.0:9332-9333->9332-9333/tcp, [::]:9332-9333->9332-9333/tcp, 0.0.0.0:8333->9333/tcp, [::]:8333->9333/tcp bitcoin-knots_app_1

1 Like

Thank you, Rod. I will read and carefully consider the information you provided. Yes, my objective is to open 8333 in knots and point it to port 9333 so knots can accept 8333 traffic as well as the existing traffic on 9333 for a fully functioning node to support the blockchain. Looks like this might just do it.

1 Like