Let me uncover my intent.

My host provides hundreds of IPV6 addresses free, but charge for an IPV4 address. I have several sites under one server and I was wondering if I can give each site/domain it's own ipv6 address.

Is that even possible? If so how?

I've read quite a bit about ipv6 but I do not understand it as clear as I'd like.

My main goal is, for each domain/site to have it's own unique IP, so someone can't do a reverse ip look up and see what sites I have on that server.

Thanks in advance for the patience.

  • I see from your history that you are using Linode. If that's still true, then: Your first IPv6 address for each VPS is auto configured by Linode. When you assign additional IPv6 addresses from your pool, you need to configure them yourself in the VPS (see the Linode Library article for this). Commented Aug 29, 2012 at 4:55
  • any update on this? It's been a while :P
    – ItsGC
    Commented Sep 12, 2012 at 17:36
  • @MichaelHampton Your link is dead. But I found another one which might be relevant for anybody else needing the same information.
    – kasperd
    Commented Jan 11, 2016 at 1:55
  • @kasperd Good thing I can fix that! Commented Jan 11, 2016 at 2:00

3 Answers 3


First of all, you need an addressing plan. If you don't have one yet, get a /48 network allocated to you. Then pick one /64 as your current major network. You'll save the rest of the address space in the event, i sincerely wish you it will happen, that your business scales up a lot.

NOTE: You will NEVER need more than a /64, but if you get really big, it might start making sense to split your big customers in different /64 to help visually recognize each of them.

Once you have your /64 you can either start allocating it serially (first IP to first site and so on) or pick organizational sub-groups and assign subnets to them (example: Customer X has 200 sites, he gets his own small subnet). I suggest the second approach, it will help with routing and your network guy won't have an headache. I assume you have multiple servers, possibly dislocated in different geographical areas.

You will need to properly route your assigned /64 so be sure you get it allocated properly by your service provider. Having your own core router helps with that (not mandatory).

After that, start adding those IPs to the interface(s) of the server that will serve those sites, by creating interface aliases like this:

$: ifconfig eth0:0 2001:470:1f0a:314::1 up

Once you're done adding addresses and you verify they are routable, create a VirtualHost in apache that will answer only on that IP/domain.

<VirtualHost [2001:470:1f0a:314::1]:80>

ServerName newhost.ipv6domain.com

If you then add proper DNS records (newhost.ipv6domain.com -> 2001:470:1f0a:314::1) you should be fine.

I obviously omitted all the non-relevant configuration for Apache. That is not a complete VirtualHost statement.

EDIT: I added the port number by mistake in the line about proper dns record. A typo caused by typing up this answer 10 minutes before work with coffee in one hand :P

  • 1
    Generally the smallest subnet should never be less then a /64. Several assumptions in various clients break if you have a smaller subnet. (ref - etherealmind.com/allocating-64-wasteful-ipv6-not) This shouldn't be a problem though. ISPs that are testing support for residential networks have been handing out masks between /48 - /56 per customer. I can't imagine why you would get something smaller in a commercial/enterprise setting.
    – Zoredache
    Commented Aug 29, 2012 at 6:23
  • Hence my comment about multiple /64. Can you name a few client software that always assume /64? My mindset is too IPv4-centric and i'm so used to subnet heavily and i wouldn't want to incur in any big troubles. Thanks for this pointer. EDIT: Thanks for the link, will read it!
    – ItsGC
    Commented Aug 29, 2012 at 7:33
  • Ok i briefly read the link and the point about route summarization is generally VERY valid but since we're talking about an "end-user" (from a routing point of view) here, his would all be stub routes and therefore all local. You don't really break neighbour discovery that way. I'm REALLY interested in IPv6 at the moment so any best practice you could share would be really appreciated.
    – ItsGC
    Commented Aug 29, 2012 at 7:39
  • @Zoredache He's on Linode. I'm seeing many VPS providers assigning very small blocks (e.g. /112) to end customers. Not a very big deal since you aren't usually going to do stateless autoconfiguration on servers, but I'm sure it's a bit of a headache for the provider. Commented Aug 29, 2012 at 7:54
  • I added in my answer how to add the ip6 with the new ip command.
    – rubo77
    Commented May 16, 2017 at 8:50

This is entirely possible, and is indeed how IPv6 is intended to work.

The problem comes with client connectivity, so far. IPv6 is not universally connectable right now, and probably won't be for some years yet. An IPv6-only site will not be as reachable as one with a v4 address.

However, it should be possible to support both v4 and v6 addresses. Those sites may all share one v4 address, but when a client comes in on v6 they'll get a separate IP. This dual-stack approach is what most of us will have to do in the near term as we move through the v6 transition.


Since some time, ifconfig is replaced by the ip program. You can add extra IP6 addresses for example with

sudo ip addr add 2001:470:1f0a:314::1/64 dev eth0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .