Becoming my own ISP
Intro
For a very long time I wished to be part of the Internet — the actual piece of it, with my own IP address space.
Why?
Because having to rely on third-party providers like OVH, Hetzner, Vultr or AWS always gives me a headache when I need to manage IPs (and thus DNS) across multiple platforms. There's also the problem of losing those IPs and renumbering services when you need to move them.
Sure… you can use HashiCorp Terraform (or OpenTofu if you prefer) to automate this or something like Kubernetes external-dns controller to automatically synchronize DNS with all Ingresses or Services you have within your cluster.
But even with those features, you still cannot control your network. Or be actual part of The Internet.
Part 0: Basic requirements
In order to even start thinking of being part of The Internet, we must have an ASN (Autonomous System Number) — this number is a simple ID of your network.
For example:
- AS15169 is for Google LLC
- AS13335 is for Cloudflare, Inc.
- AS40027 is for Netflix Streaming Services Inc.
It's so simple.
Sometimes companies can own multiple ASNs in order to do even more advanced traffic steering or — what happens more often — they simply bought other companies and got another ASN with its inventory.
Part 1: Who gives ASN?
Since we now know that an ASN is necessary, we need someone to "give us" such number.
Depending on where you are, there might be a different organization handling AS numbers. Those organizations are called RIRs (Regional Internet Registries) and they are:
The regions are not exactly like that, as for example Russia is within RIPE as well as a few other countries in Asia, and Mexico belongs to LACNIC as well as many other small exceptions… but you get the idea.
AS numbers are split globally across all those organizations so each of them has a separate pool of AS Numbers to assign and manage.
Part 2: How to get ASN?
Since I'm located in Poland which is under RIPE jurisdiction, I'll be continuing this article based on RIPE.
In order to get ASN (and IPv4 or IPv6 resources — more on that later) you need to be an LIR (Local Internet Registry). LIR is just any company that provides internet services (ISP). It can be your home internet supplier via GPON or old-school ADSL, or any service you use like Google, Apple or Valve Steam.
The problem is the cost of being an LIR. For such big companies it's pennies, but for a private person? Not possible, as you need 1000 EUR for sign-up and pay another 1800 EUR per year to be a RIPE Member (as of 2026 pricing).
But there's a way to overcome this cost limitation. And it's even officially supported by RIPE! You just need to find a Sponsor LIR.
Part 3: Sponsor LIR
Sponsor LIRs are just normal LIRs that sell the service of managing RIPE resources for other entities for a small fee instead of the full 1800 EUR.
Finding a Sponsor LIR is not that difficult, but there are multiple offers, some of them vary in pricing very much. I looked at different offers of foreign and Polish Sponsor LIRs and wrote a few e-mails. Turns out, it's not as easy as it sounds, because some Sponsors are just getting out of business while still having their old websites up, so… more search it is… I guess?
After some searching, I've found a Polish person who directed me to Polish ISP that manages multiple smaller entities as a Sponsor LIR.
We had a phone call, talked a little bit about my needs, and agreed on a price and the resources that I need — an ASN and an IPv6 PI /48 prefix.
The price is similar to the original per-resource RIPE Pricing with some margin (of course) which in total is about 150 EUR/year. This sounds much more reasonable than 1800 EUR.
Part 4: Internet Resources
You may wonder, why I got only an ASN and an IPv6 /48 and not something else? This all comes down to RIPE rules really.
First of all, every AS number costs 50 EUR/year, so obviously the Sponsor LIR has to pay for all ASNs managed by them — hence I have to pay for that.
Secondly, RIPE allows only /48 assignments for small entities that are not LIRs. I can ask for a second IPv6 /48 — sure — but I cannot get a /32 like a real LIR can.
The elephant in the room is of course the missing IPv4. And here everything complicates a lot more! It has been impossible to get a /24 since 2019 due to address space exhaustion. Just no. So how do companies get IPv4? Well, there are some ways.
The official way is to become an LIR and join the Waiting List. You can wait for RIPE to get back unused IP spaces from companies that willingly let go of unused IP space or just went out of business, so addresses are reused. But as we just discussed, being an LIR costs a lot of money and you still need to wait about 2-3 years to get an IPv4 /24. And only one /24.
But there's another way: just buying IPv4 on the market. Although, it's also not cheap. A single /24 costs about $7500 (about $29/IP), so still a lot of money. But before even thinking about doing this, you must understand a few differences in types of IP prefixes.
There are 3 types of them with different requirements and conditions:
- "Legacy" — those are very old IP spaces from before RIRs existed; they very often do not need to conform to RIR rules
- "PI" a.k.a. "Provider Independent" — any private person/entity can own this IP space (that's why I have IPv6 PI)
- "PA" a.k.a. "Provider Aggregatable" — this is something only LIRs can hold
So as you can imagine, offers I can look for are only "Legacy" and "PI". In theory I could talk to my Sponsor LIR to buy me "PA", but he must hold those resources as his own — because they will be his resources — and if something happens to that LIR, I'm screwed. So that's out of the question.
Part 5: The Contract
In order to fulfil the contract that I have signed with my Sponsor LIR I had to do some paperwork for RIPE itself (as they forwarded some info to RIPE). That includes:
- My driver's licence photo (officially RIPE needs some identity document, but a Polish ID contains too much sensitive information and it's very discouraged to share its photo anywhere, hence the driver's licence)
- My full address — I am getting my resources as my "JDG" — Jednoosobowa Działalność Gospodarcza (English: "sole proprietorship")
- List of 2 BGP Peers I'll be peering with
Of course, the contract contains the fees and dates when to pay those fees.
Part 6: Peering
There is an interesting problem when you want to request an ASN from RIPE, because they need ASNs of 2 other ISPs you'll be peering with, but at the same time, you cannot establish any BGP session with any other ISP while not having any ASN, so… feels like a chicken-and-egg problem.
I put Vultr and BGPTunnel.com as my upstream peers. Apparently it's not ok to put cloud-based peers but… I just learned this a week ago.
Anyway, this doesn't matter much, as now I can peer with anyone I want at any time. Either physically or virtually.
The "Real Internet" uses physical peering, either over rented physical fiber (dark fiber) or VLANs, MPLS and other technology that transfers long-distance data from A to B. This allows you to connect to your ISP(s) or IX (Internet Exchange). But this costs money — maybe I'll come back to this in another article.
Since I'm doing this as a hobbyist network and on a tight budget, there is another way: tunnels.
There are services like BGPTunnel.com, Route64 or cloud providers like Vultr supporting BGP peering.
Or… like me… you can have a friend who happens to manage his city network, so he offered me a tunnel :)
So after I finished my setup, my AS219339 had peering (from Kraków) established with:
- AS57701 Myszkowska Telewizja Kablowa (thanks Paweł!)
- AS209533 iFog GmbH — BGPTunnel
- AS212895 Johannes Ernst (known as Route64)
If you look at my AS peering at the moment, peers will be different due to different experiments I'm doing with this network.
What next?
Internet independence and global coverage were always something that I was interested in and I'll be expanding my network (as well as my knowledge) to achieve my weird dreams ;)
And I'll be trying to document them here, as well as on my YouTube channel.