Noob_Is_Relative (OP)
Jr. Member
Offline
Activity: 57
Merit: 62
|
The purpose of this post is FYI, helpful hints and “gotchas.”
Although I have been running a Full Node for a couple of months now, it was only yesterday that I optimized** my node by successfully achieving port forwarding (8333).
That is not straightforward. Let’s add a VPN to the mix, even though I’m not running one, and consider that in an optimized Full Node there are three links in the chain that you have to consider: the OS, the modem, the VPN. This is a “gotcha” because if you fail to consider one of these components, you may not be able to optimize. Further, each of these links, if you think of it as a coin, has two sides: One side is that 8333 is explicitly made open. The other side is that even if 8333 is explicitly made open, another software feature could be blocking it, in which case, you cannot optimize. So, actually, there are six variables to consider: the OS, open versus block; the modem; open versus block; the VPN open versus block.
Further on in this post I will describe my initial failures, confusions, and how I fixed the problems.
I am running Windows 11 Pro and my modem is ARRIS TG2482. I also run Linux but I choose Windows for some projects and Linux for others (e.g. BOINC).
I am proud to say that as a nearly 69 year old retiree in the Dominican Republic, that I am running the only Full Node in this country. I can confirm this at the website bitnodes.io When you are up and running go to this URL to confirm your status. It has a “CHECK NODE” tool that will tell you if you are receiving connections from other nodes. Hint: If you have configured your modem with a range 1024 and 65535, you will not see that range here. You will simply see “8333” next to your ip address. The tool already “sees” your status, so just click on the “CHECK NODE.” If you get a green bar, you can receive data from other nodes; if you get a red bar, you cannot. For my output I get: 148.103.81.99:8333 /Satoshi:22.0.0/
This site also shows the number of running nodes (~ 15260) as well as a world map, a list of all countries running nodes, and the number of nodes per country. And much more.
CUTTING TO THE CHASE
You are thinking about running a BTC Full Node on Windows. (Remember that the source code for the BTC blockchain is open source so that altcoin will each run its own nodes, procedures may be different, etc.)
The first step is to eyeball your modem for the make and model and download the manual or quick start if you don’t have it. The manual will tell you your modem’s ip address and the default user name and password. “Enter” your modem” by typing its ip address into a browser. (If you are not online and/or your computer does not have a wi-fi, just connect an ethernet cable to the modem and you will have access. Any configuration changes you make and save in the modem from your computer will occur regardless of your online status).
Look for a tab or a menu item that says “firewall” or “advanced configuration” or “port forwarding” or “port triggering.” It is mandatory that your modem have the capacity for port forwarding or port triggering. If it doesn’t you cannot optimize your node and must buy a new modem and have your ISP provision it. Many ISP’s will list compatible modems on their website. You can then download the manuals of various ones to see which have advanced configuration.
Doing it. Problems, Confusions, and Solutions.
To set up, I turned off my modem’s firewall. YMMV. My modem had two different menus: one for port forwarding and one for port triggering. Since you can use either one, choose the simplest one. For me, that was port forwarding. The first thing I could see was that it was not possible to open port 8333 because there was no field in which to put a single port, that there were only fields to express a range, so I put in 1024 and 65535. For the ARRIS modem there were clickable “helps” which told me that for both incoming and outgoing ranges, that they would be the same, so I put in these values for both incoming and outgoing. That doesn’t make sense to me but that’s how it was. Besides inputting a name, the only other field was for my ip address. For that I opened Windows Search < Command Prompt and typed in ipconfig. Then I saved all and logged out of my modem.
Then, to be on the safe side, I rebooted both my computer and the modem. After that, I went to Bitcoin Core Information tab and saw “0 in; 10 out.” Problem! I’m not optimized even though I configured my modem. Did I make a mistake in the config.?
Then from the same tab I opened my Debug log file. Remember to scroll DOWN for the present time. If you read data from the top, you are looking at the past time.
Here I discovered “New outbound peer connected.” This is good. My modem is configured correctly! But confusing too. If my info tab shows “0” in, I’d expect to see “New inbound peer connected.” What is going on? I think that “outbound peer connected” means that I am now connected to other nodes. THEIR DATA IS OUTGOING FOR THEM BUT INCOMING TO ME. So the log should NOT say “inbound peer connected.”
But I still have a problem. The Bitcoin Core is a program designed for Windows OS. It is embedded in Windows, the registry, etc. So although Windows is showing via my log that I’m connected to outbound peers, I’m not receiving data from outbound peers.
And here’s a reminder of the “Gotcha!” that you have to consider the three links in the chain: the OS, the modem, the VPN; and not only port forwarding but port blocking.
So now I have a hunch that Windows is blocking my incoming data (showing “0” on the info tab).
I go to Settings < Privacy & Security < Firewall & Network Protection. Lo and behold! I have THREE firewalls turned on. I disable: Domain network firewall; Private network firewall; Public network firewall. Disable and apply and ignore Windows’ warnings. Whether you need to disable all three: YMMV.
Then I reboot, after shutting down CORE, then re-start Core (I turn off autostart and prefer manual stat), go to Info tab and see In: 14/ Out: 10! I go to Network Traffic and for the first time I get two real time graphs, green received and red sent. And at bitnodes.io I am recognized and get a green bar. Success! I have optimized! Needless to say, I still had “failure” after a proper modem config. because of an OS block.
**Full Node optimization. Turns out that before I optimized I was still running a Full Node but a lesser Full Node. A Full Node is made up of different components. If you run 1 but not > than 1 you are still running a Full Node but less that optimized. Analogy: Given an identified music composition that you are listening to on your computer, the name of the composition is the same, but you can alter it qualitatively by adding or subtracting data, say by using the DAC soldered onto your motherboard versus buying an independent external DAC and bypassing the inferior one. The name of the composition is the same (Full Node) but the qualitative degrees are different—same in kind, different in degree, if you will.
You can see the various components of BTC Full Node when you look at your peers’ data per individual. These are the permutations possible:
Inbound (This is me before) Outbound Full Relay (This is me after) Network Bloom Witness Network Limited
One peer may run 1 or more of the above. I guess it’s obvious why I am NOT listed as a peer here. To see my “component” status as a peer, I go to bitnode.io and I find out that my services are: node witness and node network limited (1032). Service is the correct word, so I will substitute that for “component.”
I’m sure that further service tweaks are possible and I will investigate those as time goes on.
N.B. Needless to say using hyperlink and code in context created major problems in the preview, so I left them out.
|