So I was recently trying to find hosting for what was going to become this website. I wanted to avoid shared because I like to have control over the server setup, not have any risk from others’ sites getting hacked on the same system, etc. I also wanted to avoid the expense of a full dedicated server. That left VPS options.
Next requirement was native IPv6 service; not 6to4, tunnels or any other bs. You’d be surprised at how few providers actually offer native IPv6 at this point, at a time when IPv4 addresses have already run out. I started doing searches for IPv6 VPS offerings. I found a couple websites that got me to a good starting point:
I had heard of a few of the hosts but most seemed to be small mom & pop type places that I didn’t want to deal with wondering if they’d suddenly go out of business, have an outage and the one person who knows how to fix it isn’t on duty, don’t own their own hardware, etc. A useful tool I use just in general was even more helpful in investigating things further; it’s a Firefox plugin called “AS Number”:
It will put the BGP ASN for the site you’re looking at down in the status bar. If you hover over it, it will give you a bunch of information including the number of prefixes announced from that ASN, the total number of IP addresses announced, the name, description, country, etc. and finally, the prefix of the site you’re looking at.
I find this useful because it lets me get a rough idea of how large a host is based on a few criteria:
- First, is the ASN owner even the same as the host? If not, keep that in mind to revisit later if the other tests are passed.
- How many IP addresses does the host have announced? If it’s several tens of thousands, chances are they are running a reasonably sized network so they’re worthy of looking into further.
- I take the ASN and plug it in at http://bgp.he.net to see what kind of peering the host has. I look at a variety of things:
- How many peers they have.
- Are they peering with more than one on IPv6?
- Are they using a tunnel provider like Hurricane Electric instead of their normal upstreams for their IPv6 peering?
- Are they using shitty upstream providers like Cogent?
- If all of that information checks out then I went further in considering the host for purchasing their services and started researching what people think about them online, if they’ve had outages or security issues, ideally if I can see any pics or webcams of their data center(s) to see if they’re doing things right or look like a risk.
This method isn’t foolproof of course as the place I decided to go with actually failed my test. The place I went with is Linode (https://www.linode.com/). I found references to them constantly in forum threads about other providers, people complaining about problems and then inevitably a bunch of people recommending Linode. The part of my test they had failed is the fact that they don’t appear to operate their own network; they appear to get their IP allocations from the data center owners where they place equipment, so I was finding different AS numbers and network owners at each of their data centers. The one I decided to go with is their Newark, NJ data center whose IP addresses and networking come from Net Access Corporation. Net Access has what appears to be very good peering for v4 and v6 and I was finding consistently good traceroutes and download speeds from the Newark test server on their speedtest page: https://www.linode.com/speedtest/
In any case, I decided to go with all the positive recommendations and signed up for their $40/month VPS plan which gives me 48 GB disk, 4 TB/month traffic and 2 GB memory. The other IPv6-enabled VPS providers that made the cut all had dramatically less memory for that price point; they may have had more disk or more traffic but there’s only so much you can do with a server that only has 500 MB of memory so I went ahead and chose Linode. The server was accessible about 30 minutes after I ordered with a working dual stack setup.
A final note on Linode; by default, they assign your IPv4 address using DHCP and your IPv6 address using SLAAC with the default gateway being a link local address assigned via router advertisement. I feel more comfortable with having everything static on a server so I undid their config and hard coded the values. If you choose to do this, keep in mind that RHEL/CentOS will produce an error and not set the IPv6 default route if the next hop is a link local address, which is what Linode gives you. The reason this is the case is because a link local address could be on any local interface and the initscript has no way of knowing which interface to install it on. The solution is to set IPV6_DEFAULTDEV=eth0 in the /etc/sysconfig/network file along with the IPV6_DEFAULTGW=fe80::1 setting (which is correct for Linode’s New Jersey facility at least, not sure about others).
After some time with Linode I’ll come back and update this review with how things are going. At least for the first 12 hours of service I’m very happy.