HACKER Q&A
📣 Gasp0de

Can I own an IP address and take it with me across providers?


We are providing a service to businesses whose customers are all running a firewall. The customers need to manually allow our services IP address in their firewall, which is something we want them to do only once upon onboarding. How can I get the most stable IP address for our reverse proxy that I will hopefully never have to give up?


  👤 dark-star Accepted Answer ✓
As someone who recently did this: it's much easier (and cheaper) for IPv6.

All you need is a PI subnet (PI = Provider Independent). There are providers that give you for example up to 5 such subnets (each a /48) for free. I use route48.org (not affiliated) but there are others.

Next, you need an ASN. You can't get these as an individual directly, but only through a sponsoring LIR (Local Internet Registry). You can find LIRs through RIPEs homepage (e.g. https://www.ripe.net/participate/member-support/list-of-memb...), I simply checked them out one after another to find out how/when/if they would sell ASN registrations to individuals. I settled with a nonprofit (IN-BERLIN e.V) that I joined, and who offer ASN registrations for a flat 50€.

Then you need a peering, usually your LIR also offers that (ask them), but you'd probably need to host your hardware in their datacenter for that to work (additional costs/month). Then there are providers like the aforementioned route48.org who allow you to peer from anywhere through a WireGuard (or GRE) tunnel, which means you can host your BGP router at home if you want (mine runs on a RaspberryPi 1st gen and has the full BGP table, which, admittedly, is a bit smaller for IPv6 than it would be for IPv4)

So yes, it's doable even for an individual, but my suggestion is to use IPv6.


👤 nik736
The minimum announcable IP space is a /24. So you could either rent or buy a /24. Renting a /24 is currently at around $100-200/month while buying is around $10-15k. You can take that subnet to a provider with a "BYOIP" service.

👤 svennek
The more secure solution is to become a LIR ("internet provider") yourself and use one of your own adresses (which is yours as long as you pay the fee to the RIR (registry)).

But that is a very expensive solution. Think thousands of dollars up front and thousands of dollars a year.

In practice the best possible way is likely to get a stable IP somewhere (local provider VPS or cloud "elastic ip" ) and host a vpn-router there yourself, that forwards traffic to the real server (this does not work very well if you service is high bandwidth).


👤 lode
Yes, you can get provider independent IP adresses, and then use one a 'Bring Your Own IP'-type service at your infrastructure provider. Most cloud providers support this:

https://aws.amazon.com/vpc/faqs/#Bring_Your_Own_IP https://www.ovhcloud.com/en/network/byoip/ https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/... https://www.alibabacloud.com/solutions/bring-your-own-ip-add... https://cloud.google.com/vpc/docs/bring-your-own-ip

It's definitely not going to be as simple, fleible and cheap as getting a domain name though.

Using hard coded IP addresses for this kind of use case is almost certainly going to be giving you unexpected issues in the long run. Is there any chance you can use a hostname instead of an IP address to provide to your customers?


👤 jmurphyau
I love this question.

I worked for a company that provided (private) hosted contact centre solutions and ended up getting into providing MS Teams Calling.

One DC in Melbourne AU, one DC in Sydney AU.

We needed to be able to fail over between Melbourne and Sydney and handle traffic on multiple ISPs and on IXs (IXs are small communities that ISPs create amongst themselves to send traffic between each other at little/no cost).

We created an account with APNIC, requested a /24 IP block (you can get less than 255 IPv4 addresses - a /24 block), paid about $1,500AUD and got setup (they gave us an ASN and an IPv6 block too)

That cost is each year.

You then go to an ISP and tell them to use your IP addresses and ASN.

You might need to peer (as others are saying), or they might just send the whole IP range to your firewall and you do whatever you want with it.

One thing to be aware of: if you start using more than one ISP in different locations, you may receive traffic from ISP1 and return it back via ISP2.. Be aware of this when dealing with firewalls (either your firewalls or your customers)


👤 dusted
Short answer, is nope.. About 20 years ago, I had a /24, but no ISP I've ever had would let me use it.. Even if I paid the insane price for "public static ip" they'd not let me use addresses from my own block.

You more or less need to be an ISP to do it.


👤 charcircuit
You can buy a /24, get an ASN, and then peer with someone else to advertise the route to your servers.

👤 gnfargbl
To be able to port around an IP address, you need to be able to change the Autonomous System (AS) which advertises it. The minimum IPv4 range which can be advertised is a /24 (256 IPs), so you will need one of those for full portability.

You can purchase a /24 IP range from a broker [1]. It used to be possible to get a "free" /24 from RIPE, but the waiting list is very long these days [2]. RIPE also run a listing service, but it is unwieldy and you would need to manage the escrow yourself, which might be a bit risky given that you'll be paying ~13k Euros for the block.

To complete the purchase you either need to be a RIPE Local Internet Registry (LIR) yourself [3], or you need to find a local LIR [4] to sponsor your resource. (They will likely charge you a fee for this, but it will cost less than becoming an LIR.)

To use the IP block, you can get your own AS Number from RIPE (again via your own LIR or a sponsoring LIR) and advertise it from your own router via a provider who speaks BGP [5] or by plugging in to an Internet Exchange Point (IXP). This probably also means co-locating your equipment in a datacenter where peers are already present.

Alternatively, you can find a provider who will let you advertise your IP block from their AS. There are several providers who will do this including the large players like AWS [6] and smaller operations like Vultr [7]. If you started off by using your IP range with someone else's AS, there should be no reason you couldn't move it to your own AS later.

[1] https://auctions.ipv4.global/ (there are others, I have personally used this one)

[2] https://www.ripe.net/manage-ips-and-asns/ipv4/ipv4-waiting-l...

[3] https://www.ripe.net/participate/member-support/become-a-mem...

[4] https://www.ripe.net/membership/indices/DE.html

[5] e.g. Deutsche Telekon, Lumen, Telia, Cogent, Zayo, Hurricane Electric ...

[6] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoi...

[7] https://www.vultr.com/features/bgp/


👤 somat
Sort of:

you have to get an AS number. then you can buy an ip block, go for ip6 here as ip4 is getting a bit expensive. iana fees will be about 500 dollars a year.

Now for the hard part, you have to convince your isp to bgp peer with you. A lot of times this is known as a direct internet connection. it is relatively easy to find in a data center but usually will cost you a couple thousand bucks a month if you want it on your doorstep, but hey at least it usually comes with a service level agreement.


👤 28304283409234
https://media-exp1.licdn.com/dms/image/C4E22AQF6SsTSSb4LtA/f...

The waiting list is 10 months+ for a /24.


👤 michaelt
Consider whether routing everything across HTTPS / websockets would fix this problem.

In my experience, you only have to prostrate yourself before the firewall bureaucracy if you want to use something other than port 443. And if they do restrict port 443 they'll use some form of proxy or SNI whitelisting, granting access by domain name instead of IP address.


👤 stevefan1999
Yes. You can become a LIR and got yourself assigned an IPv6 block. As a LIR you have the right to create an Autonomous System which almost does what you want if you run BGP. You can still do manual peering though, and learning BGP is whole another level of pain and patient. I'm on my way to becoming such operator to fiddle around Calico with IPv6

👤 blahgeek
Aside from what others already said about pricy ipv4 addresses, it’s much more cheaper for ipv6

👤 rspoerri
How about you get a server with hetzner.com ? I'd ask support whether they ever needed to change ip addresses of a existing customer.

Alternatively how about using port 80/443 or any other commonly used network ports to circumvent the firewall?



👤 beardyw
Whatever solution you choose, remember that your customers will (should) be concerned that the IP address is not shared outside your organisation.

👤 zakki
Another solution you can consider I think is to create a proxy server in a hosting/cloud provider. All your customer will point to the IP of the proxy and then your proxy finds your original server by host name (DNS).

edit: typo


👤 mobilio
You can't take it. You must get IP range and move it.

👤 worldsavior
Why not use a domain?