Building a Gigabit/Multi-gig public subnet on ATT Superfast Fiber (their name not mine)

To start this is going to be a long project, and there is going to be lots of episodes but the intent is to create a series of guides that would allow the average user to go from a standard network all the way to a 5 public node configuration on ATT fiber. This is a functional exercise for education, testing and development on the threefold network for your own personal gain. Over all Intend to the cover the topics installing or modifying ethernet drops, pulling wire, configuring a bgw-320 to cascade into a multi gig router both with a home built multi gig deployment running open source software and a less advanced version using a commercially available option if I can get ahold of one (I’m a broke paramedic, shits expensive). This will be applicable to the ATT 1 gigabit connections with a BGW -320, all 2 gigabit connections and the 5 gigabit connections, this guide is not applicable to the older ATT fiber gateways with 2 separate devices. I might work similarly but its untested. I am not a professional, I’m a paramedic, and I take no responsibility for anything that happens to your devices.

First drop is going to be configuring the bgw-320, I love this thing and I hate this thing. It actually performs this role extremely well, but as a home gateway its trash. The first thing your going to need to do is call ATT and get a public address block. If you have trouble with this PM me and I can help you with it. Sometimes its hard to get to the right people from the residential side.

For this setup you will need to request an 8 address block, this gives you 5 usable addresses, the others go to network functions. Make sure you get all of this information, I didn’t know what I was doing the first time and had to call 3 times to ask for more info

|Default Gateway|
|CIDR notation|
|Public Subnet mask| THIS IS THE “TABLE”
|DHCPv4 Start address|
|DHCPv4 end address|

Once you have this information and your ATT BGW-320 is operating normally, access the configuration page that by default is at 192.168.1.254.
image

Your going to land on this page, you will need to select home network denoted by the blue arrow in the image directly above.

image
You will land here and select “subnets & dhcp” within the baby blue header.

image
this is the page you will be modifying
--------------------------------------------1 gigabit connections-----------------------------------------------------------------

Were going to make a quick stop here for the 1gigabit family, all you need to do is under the blue “Public subnet” header fill in the information you put in the table above when you called att and used the table to notate the information they for some reason “cant email”, anyways.

Set public subnet mode to On

Set allow inbound traffic to Yes

Set public gateway address to the public gateway address from the TABLE

Set public subnet to public subnet from the TABLE

Set DHCPv4 Addresses to the DHCPv4 addresses from the TABLE

Set primary DHCP to PRIVATE

always save before changing pages!

We now need to navigate to firewall in the dark blue header.
image

And then to packet filter in the baby blue header (under firewall in the dark blue header) notated with a black circle in the image directly above.
image

Click disable packet filter, it will look like this when you have completed the step

always save before changing pages!

Next were going to navigate to the “firewall advanced tab to the right of “packet Filter” in the baby blue tab, under firewall in the dark blue tab, notated by a black circle in the image below.

image

image

you will be modifying this page, set everything to off, always save before changing pages!

Once you save this configuration any threefold node you plug into the ethernet ports on the back of the bgw-320 either directly or through a switch will be able to function as a gateway with the proper blockchain configuration. Any devices connecting through dhcp will be on a private subnet with your gateways ip as their public.

Though because of the firewall rule changes I would suggest placing another router behind your bgw-320.

If you don’t need a public address for your HOME router, its pretty plug and play, just run a ethernet cable from the back of the BGW-320 placing it in a blue or gray jack (don’t touch red), to your router WAN jack, it is normally a different color, often separated from the others. This configuration leaves you 5 public IP addresses for nodes, but may behave strangely at times, Specifically when running Yggdrasil on a client behind the router,

If you need a public address on your router and like it behaving well.

------------------------------1 gig connections, back to public safety, to be expanded---------------------------------

place a router behind the BGW-320, let it grab a private ip from the bgw-320 automatically (just plug in power then ethernet to a lan port on the BGW-320 (blue and gray ports) to the WAN port of the router it is normally a different color, often separated from the others, now wait most will do their thing)

Find the mac address of the router you are going to use for your home devices, notate it somewhere and label it “home mac” ( this is what a mac address looks like fe:dc:a0:5f:81:8d)

always save before changing pages!

To the right of the subnets & dhcp in the baby blue header you will find ip allocations.

image

If you’ve been clicking around, its under home networks in the dark blue tab.

image
this is what you will be modifying.

Find the record of your routers mac address that is powered on and has an ethernet cable attached from your HOME routers WAN (usually a different color and/or buy itself) port, to a LAN port on the BGW-320 (blue or gray, Don’t touch the red one)

Find your HOME ROUTER mac address in the notated column above with a black arrow and click the allocate button in the same row to its right as notated with a black circle in the image directly above. your public addresses are at the bottom of the list. my list has none and id have to break things to get them back, but they will be there, this is what the page looks like after clicking allocate, scroll to the bottom and choose and address NOT to be used for a 3node.

image

all devices attached to this router will have private IP addresses with the router being public as things traditionally are in a home setup, you should be able to do this without reconfiguring your settings on the home router if its currenlty set to dhcp on wan.

RESTART HOME ROUTER

It should now have a public IP address and you can configure it to protect your home devices as necessary. Notably if you are running a helium node it should be connected to the this router with port forwarding of 44158 to its private address to function properly. More on that to come.

Each 3 node should have a ethernet cable plugged into a blue or gray jack in the back of the BGW-320, if the node has a multi gig card a 1 gigabit fiber connection will provide 1200-1300 mb/s and will benefit from the multi gig adapter being plugged into the BLUE port on the BGW-320.

-----------------------------update break 5/8 2000-------------------------------------------------------------------------------
Block Chain Public node Configuration (substrate and portal)

Next update, Configuring ASUS and OpenWrt routers behind the BGW-320 to support helium.

Multi gig BGW-320 cascaded router setup

Building a 6 port 5gbe router for under 500$

Bridging local Yggdrasil public peers with the threefold network

Building a 50$ Yggdrasil public node.

Videos? do we need videos?

4 Likes

Awesome Guide Parkers!

Building a YGGDrasil Node for 75$

Edit: DO NOT do this if you are on a metered connection and have a bandwidth cap see below
image

My node has moved 2 gigabytes of traffic in the past 3 hours.

This is not something that is necessarily part of the “threefold” project, but this will contribute to the strength of the planetary network. I have been able through traffic monitoring to verify that all three of my nodes are peered with my public node and are forwarding traffic through the public node. I would be interested to know how ygg performance to one of my nodes compares to some others on the net.
The goals of this project are to create a “bridge” that allows a standard configuration 3node to see all of the Yggdrasil public routes in addition to the established routes in its own configuration. This SHOULD allow the nodes to take routes around congestion or higher bandwidth routes. It also may offer an additional solution to the problem of public accessibility. In a configuration where the Yggdrasil node is running on the router that holds the primary public IP address, that nodes should be able to reach an internal ygg device from outside.
Lets start with the device. You will need any Openwrt compatible router. I am using a gl.inet beryl mt1300.

This device seems to be handling things very well, though I haven’t had a full opportunity for stress testing as its only been fully deployed for a day. This device come with openwrt installed with a gl.inet overlay, the first thing were going to do is get it onto vanilla openwrt with luci.

----- if you brick the device, and you probably will at some point this is very much a exercise in patience -----https://openwrt.org/toh/gl.inet/installation

Download the firmware from
https://downloads.openwrt.org/releases/21.02.3/targets/ramips/mt7621/openwrt-21.02.3-ramips-mt7621-glinet_gl-mt1300-squashfs-sysupgrade.bin

now power on the device without connecting anything and wait for its light to stop blinking and connect through a lan port (avoiding autocf) and use the default interface to flash the openwrt firmware
if you have trouble with this check out the link about bricking devices it offers deeper instructions.

Now that were in openwrt well start the fun.
-----------------------------------------------------Network Setup----------------------------------------------------------------
Once your logged in the first thing we need to do is make sure this router has a public IP address, in the top sections of openwrt you will go to network-> interfaces

There you will find this
image

Its likely that your “wan” net will have private ip address from your primary router at this point. If you do not have public ip block this is the best it will be.

If you have a private ip block and want to make your node a “public node” then you will select “edit” in the “wan” field. And find a screen similar to this but with your wan interface information
image

Manipulate the “protocol” drop down and select “static address”
image

It will look like this but, with your wan interfaces information, go ahead and click that switch protocol button.
image

Now fill in the three boxes marked with black dots in the image above with the information of one of your public ip addresses. MAKE SURE, that the device is hooked up to a port with access to your public subnet. If we are still on att, without cascaded router, that is the blue and gray ports on the bgw-320.
Save the screen and then save and apply on the main interfaces screen. You should now see the wan interface having a connection with a public ip address.
----------------------------------------------------YGG Setup------------------------------------------------------------------
The most beautiful part of this is that there are NO cli interactions required,
We are going to go system-> software in the top back navigation bar. You will find this

image

Click update list so that it can grab the package list, then search “ygg”

image

Install these packages and the language pack of your choice if you prefer non-english.
Once both installs are done wait about 30 seconds and refresh the page. You should now be able to access “Yggdrasil” under the “network” heading in the black top navigation bar.
It will bring you here

image

The next step I can fully explain why we need to do it but we do, this will not work if you do not do this.
Navigate to the settings tab.

image

Were going to be working in the “listen address” and “multicast interface” section only.

Under “listen address”
Set
Tcp://0.0.0.0:9943
And a listen address on a port of your choice if you plan to list your node in the github public peer list.

Under “multicast Interfaces”
UNCHECK “send Beacons”
SET “link Local port to 9943”

Then save and apply your configuration.
Now were going to go to Peers with the Yggdrasil tabs.

image

This is what it will look like but without addresses. My page is a bit out of hand so ill just include a snip.

Go to https://publicpeers.neilalexander.dev/
And copy the addresses of “online” and “reliable” nodes into your peers configuration. IMPORTANT: after I got over about 25 peers I had to only add 2-3 at a time then save and apply or it would break and stop connecting to people.
Once you have all of the peers you intend to use, save an apply one last time and you should be able to go to the status page and see your peered connections.
image

There does seems to be a limit to how many connections appear on this page.
For our last step, we are going to navigate to the Network-> firewall tab. I haven’t fully tested what was breaking things but this is the configuration that seems to have made it forward traffic properly. ‘
image

Honestly, you just want the damn thing off so that your essentially creating an unmanaged switch between peers. I haven’t done much with this other than set everything to accept and allow forwarding between all zone.

  • If you do this. DO NOT put other devices behind this router specifically as they may be fully exposed to anyone running ygg. In my overall setup this thing is segmented off pretty much by itself other than devices discovered through multicast.
  • In order to be protected on my laptop using ygg I connect it behind my home router.
    Now if all of this worked, your node should of made it onto the map by now. You can search by getting your ygg address from the status page and going here http://51.15.204.214/

This is my public node on the map.
image

my public yggdrasil node info
Tcp://108.242.38.187:1337

Just an informational post but I’ve seen the question asked so I wanted to make the information available on node power consumption

I have 3 nodes,

Node 1 has
2x Xeon 5620 100gb of ram. 7 sas drive, ssd.

It’s a clunker but it’s consuming approximately 140w between the two power supplies
image

The next has 2x Xeon 5690, 100gb of ram 7 disks and an ssd, dual port 10g
image

The little guy is running a Xeon E3-1225v3, 32gb of ram, ssd and and intel QAT card, that’s last ones probably gonna raise eyebrows but there’s a plan for this guy. He can do 20gb/s of vpn acceleration upgrade able to 100gb/s vpn offloading

Oh also 6x onboard x540-t2.

image

My current electricity rate is 8.1655 cent per kWh during the summer there will be increases but I think the accepted average is 12 cents so I’ll use that.

Using the roughly 5.5 kWh measured per day, it will cost me about 20$ to run all three nodes per month. Or in Red Bull supply, 3 days worth. Obviously this will increase as usage increases but so does rewards. Kinda like Red Bull.

Event if I had to pay the highest summer rate, it would be 30$ per month.

I honestly haven’t read into the Tft rewards fully, but I’d be willing to put that forward in a PayPal donation for the project so I have no issue there.

I recognize I’m not running the best hardware, but honestly it’s more my contribution to the overall network then intending them to be a high end rental, but I do plan to reinvest into better hardware with rewards.

2 Likes