Building My Own Network - Part 1

in Programming & Dev18 hours ago

So back in 2022, I ended up building my own network. It's definitely sill a big work in progress, but it's an interesting journey and here's how it went.

Inspiration

The inspiration for this really came from KWF, and our friends @privex who didn't want to expand to the US. I wanted to rent servers in the US from non major infrastructure providers and asked @someguy123 to expand to the US, but they basically refused(for reasonable reasons). Long story short, I ended up reading a few blog posts from KWF(https://blog.thelifeofkenneth.com/2017/11/creating-autonomous-system-for-fun-and.html ) and after that I decided that I was going to do the same. Some math later and I realized that I could also save money compared to the tens/hundreds(with VMs) of servers that I was renting.

Getting Started

So the first thing to do was to make sure that this project is actually possible. I reached out to Hurricane Electric for pricing for colocation. Their $400 special is what I ended up going for, 1800 watts of total power capacity, a 1 gig internet connection, BGP session, and a /27 worth of IPv4 space for $400? That sounds like a deal(and it is!).

Next up was getting an ASN and IP space. The way to do this is to reach out to ARIN and get it from them. After about 2 weeks I had an ASN and IPv6 space and was on the waitlist for IPv4 space.

Now I just needed hardware. Thankfully I wasn't paying for all of this. I paid for a router and a server, and another server was bought by @nftmart. I picked a Mikrotik CCR2116 for this. This is still in use(for another monthish, when it's getting replaced), and I think that's not a good decision with all the issues I've had on it, but back then it was the choice which seemed the best(even to a point that a larger network bought the same device). For servers, we just bought them from GoPCN(RIP that name, they have rebranded and I don't know if they still sell the same products) and had @sn0n configure them a bit.

image.png
The servers, sitting at home

First Days

Once we had everything in place, and all the hardware shipped to @sn0n, he went and installed them, which just meant he went to the DC and racked them. I did pay a network engineer from Hurricane Electric to configure our router and the servers for remote access as my knowledge for that was non existent at that point, but his worked helped bring the network online. Once we were there, AS400587 was live on the internet(with just IPv6 IP space). It was an amazing feeling, seeing our own IPs being accessible.


image.png
Servers racked in the data center, the server with NFT written on it is NFTMart's and the one with R is mine 😀

I then sent a request to FCIX to join their internet exchange. An internet exchange is basically just a switch that multiple networks can connect to, and then exchange traffic with each other. I chose FCIX because they were present in the building, Hurricane Electric subsidized the cross connect to them by charging us nothing for it, and FCIX had a MRC fee of $0 and a NRC fee of $0. So pretty cheap to join, all I had to pay for was a optic on our side to get the connecting going. It took about 2 months for that port to come live(it's a free internet exchange, and they work on their own time, so that's fair).

Story So Far

So far we rented a rack with Hurricane Electric, got an ASN and IPv6 block from ARIN and on the IPv4 waitlist, and bought some servers. Then the servers got racked in the Hurricane Electric datacenter and a request to join FCIX was sent. As a dev, diving into the infrastructure world is very different and a ton of fun!