在服务器上分配多个IPv6地址

让我发现我的意图。

我的主机提供了数百个免费的IPV6地址,但收取IPV4地址费用。 我有一个服务器下的几个网站,我想知道如果我可以给每个网站/域它是自己的ipv6地址。

这甚至可能吗? 如果这样怎么样?

我已经读了很多关于ipv6的内容,但是我不太清楚它的意思。

我的主要目标是,为每个域/站点拥有自己独特的IP,所以有人不能做一个反向ip查找,看看我在该服务器上有什么网站。

提前感谢耐心。

首先,你需要一个寻址计划。 如果你还没有一个,得到一个/ 48networking分配给你。 然后select一个/ 64作为您当前的主要networking。 您将在活动中节省地址空间的其余部分,我真诚地希望您会发生这样的情况,您的业务会大量增加。

注意 :你永远不会需要比64更多的,但是如果你真的变大的话,可能会开始有意义的把你的大客户分成不同的/ 64来帮助他们识别每一个。

一旦你有/ 64你可以开始连续分配(第一个IP到第一个站点等等)或select组织子组和分配子网(例如:客户X有200个站点,他有自己的小子网) 。 我build议第二种方法,它将有助于路由和你的networking人不会头痛。 我假设你有多个服务器,可能在不同的地理位置错位。

您将需要正确路由您的分配/ 64,所以请确保您的服务提供商正确分配。 有你自己的核心路由器帮助(不是强制性的)。

之后,通过创build如下的接口别名,开始将这些IP添加到服务于这些站点的服务器的接口:

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

一旦你完成添加地址,你确认它们是可路由的,在apache中创build一个VirtualHost,只会回答该IP /域。

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

ServerName newhost.ipv6domain.com

如果你然后添加适当的DNSlogging(newhost.ipv6domain.com – > 2001:470:1f0a:314 :: 1),你应该没问题。

我显然省略了Apache的所有不相关的configuration。 这不是一个完整的VirtualHost语句。

编辑:我错误地添加了有关适当的DNSlogging的行端口号。 在工作之前10分钟用咖啡键入这个答案造成的一个错字:P

这是完全可能的,而IPv6确实是如何工作的。

到目前为止,客户端连接问题已经出现。 IPv6现在不是普遍可以连接的,而且可能还不会有几年。 一个仅支持IPv6的站点将不会像具有v4地址的站点那样可达。

但是,应该可以同时支持v4和v6地址。 这些网站可能都共享一个v4地址,但是当一个客户端进入v6时,他们将获得一个单独的IP地址。 这种双栈方法是我们大多数人在短期内将要做的事情,因为我们正在进行v6过渡。

一段时间以后, ifconfigip程序取代。 例如,您可以添加额外的IP6地址

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