Regional IPs don't seem to be in the correct region

Hi! We are looking to move our service over to fly (and have been for a few months), however one thing that I noticed is that IPs that are assigned to my app aren’t in the correct region (even when they are created as “regional” IPs). As an example, I created a “regional” IP for one of my apps in IAD, and it shows the IP as being regional to IAD. However, when I look up that IP in any of the geolocation databases, it shows as being in the Netherlands.

Is there something else I have to do in order to enable that?


When it comes to geolocation databases, they can only guess at where an IP might be pointing to, and they might use different methods to figure out where that might be. The IPs that Fly buys and/or assigns can be routed anywhere in the world, though — and will change locations when they change assignments. If you do a traceroute to your IP you’ll see it goes to the region you want it in, but the geolocation database might not have checked recently or updated their database.

Interesting. It looks like they usually update every few weeks. I’ll see if they eventually update and get the correct location.


Geo IP databases are very inaccurate for companies like ours. Some of our IPs are registered with RIPE, and thus default to Amsterdam. The geo IP providers might choose to use our corporate address for those instead, but then they’ll show in either Chicago or Delaware.

Meanwhile, we can put IPs anywhere in the world with a one line config change. We won’t, but the IAD IPs could just as easily be routing to Sydney tomorrow. We could even route it everywhere!

traceroute and mtr are the only real way to see where a given connection is being routed. You can usually see city names and airport codes in the intermediate hops.

IP databases don’t actually try to solve this, they’re mostly interested in identifying consumer locations. The ISP’s business address is often good enough for consumer IPs.

ok. thanks! we’ll test to see if that works for us.

Out of curiosity, what are you using regional IPs for?

We are a B2B service, and many of our customers are very sensitive to regional data fencing. In this case it’s really about the optics, but if the IPs look like they are in the wrong country it doesn’t look good for us.

If your customers warrant a lot of extra cost, we can announce IPs you own. You could get a /24, assign it to an entity with an address where you want it, and the geoip databases should do what you want. So it’s fixable, at least.

hm. could you do the same for IPv6 addresses? What would the additional cost be (approximately - I just need an order of magnitude).

Also, my understanding is that I’m hitting gateway IP addresses. However, from a previous post it seems like I can add something like:

allowed_public_ports = [5000]

to get to the IP of my actual instance?