介绍
DigitalOcean现在在特定的数据中心提供IPv6地址(从新加坡1开始)。
IPv6是IP协议的最新版本,整个互联网依赖于连接到其他位置(IP协议有点冗余,因为IP代表互联网协议,但我们将使用它,因为它很容易)。 虽然IPv4仍在世界许多地区使用,但是IPv4地址空间正在以快速的速率消耗,并且不足以支持快速部署互联网就绪的设备。
IPv6寻求解决这些问题。 除了对协议进行一般性改进之外,使用IPv6地址的最明显的好处是它具有大得多的地址空间。 虽然IPv4允许2 ^ 32个地址(其中某些保留为特殊用途),IPv6地址空间允许2 ^ 128个地址,这是令人难以置信的增加。 要了解如何启用IPv6上的Droplet按照链接的指南。
通常希望在单个Droplet上具有IPv4和IPv6接口。 这是IPv6启用后Droplet的状态。 但是,出于某些目的,您可能希望完全禁用IPv4并完全依赖IPv6。
在本指南中,如果您只希望启用IPv6,我们将讨论如何关闭IPv4网络。 大多数人不需要这样做,但有些情况下它可能有意义。 您仍然需要为localhost提供IPv4,以便您的程序按预期运行。 这是我们将演示的场景。
注意 :如果您是通过IPv4连接连接到您的Droplet,禁用IPv4的接口将下降的连接! 如果发生这种情况,您需要使用IPv6连接(如果本地配置支持)或使用控制面板登录。
暂时禁用IPv4
如果您希望暂时禁用IPv4,您可以通过简单的编辑这样做/etc/resolv.conf
文件中使用IPv6 DNS服务器(如果你的Droplet的创建过程中启用了IPv6,这一步应该已经完成),然后删除该规则配置您的IPv4地址。 这些更改将在下次重新启动时还原。
首先,编辑您/etc/resolv.conf
如果需要的文件:
sudo nano /etc/resolv.conf
如果你的nameservers
的配置点的IPv4地址,你需要改变那些IPv6Nameservers,而不是。 如果在最初创建Droplet时启用IPv6,则已经执行此操作。
如果尚未配置,您可以通过将文件更改为如下格式,将指令设置为Google的IPv6Nameservers:
nameserver 2001:4860:4860::8844
nameserver 2001:4860:4860::8888
nameserver 209.244.0.3
保存并在完成后关闭文件。
接下来,您需要通过键入以下内容来查看您的IPv4地址和CIDR路由前缀:
ip -4 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 128.199.175.162/18 brd 128.199.191.255 scope global eth0
上面红色的值是您需要的信息。 然后,您可以通过键入这是你的活动的网络连接删除( 注 :这是在哪里,如果你是通过IPv4的使用SSH的连接将下降):
ip addr del 128.199.175.162/18 dev eth0
确保您更改红色部分以反映您在上一个命令中发现的自己的IPv4 / CIDR值。
在CentOS和Fedora上永久禁用IPv4
要永久禁用IPv4,我们将必须修改建立接口的文件,并在引导时生成必要的文件。
通过查看启动/etc/sysconfig/network
的文件。 如果在Droplet已创建后启用IPv6,则必须在此处添加一行。
现在打开文件:
sudo nano /etc/sysconfig/network
如果它还没有,请添加一行,告诉服务器启用IPv6。
NETWORKING=yes
HOSTNAME=centafter
NETWORKING_IPV6=yes
接下来,您将需要修改/etc/sysconfig/network-scripts/ifcfg-eth0
文件。 这指定在网络启动时如何配置网络:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
首先,您需要注释掉IPv4信息,以便在启动时不会考虑这些信息:
#IPADDR=128.199.175.162
#NETMASK=255.255.192.0
#GATEWAY=128.199.128.1
接下来,如果在创建Droplet后启用IPv6,则需要添加IPv6信息。 您应该添加以下行或确保它们设置正确:
IPV6INIT=yes
IPV6ADDR=public_ipv6_address/64
IPV6_DEFAULTGW=public_ipv6_gateway
IPV6_AUTOCONF=no
此外,您需要调整DNS指令,使其主要指向IPv6Nameservers。 再次,如果您在创建IPv6后启用IPv6,则必须进行调整:
DNS1=2001:4860:4860::8844
DNS2=2001:4860:4860::8888
DNS3=209.244.0.3
保存并在完成后关闭文件。
如果现在需要禁用IPv4,则可以按照有关临时禁用IPv4的部分中所述的步骤操作。 否则,IPv4将在下次引导时禁用。
在Debian和Ubuntu上永久禁用IPv4
在Debian或Ubuntu机器上,您将必须以类似的方式修改文件。 您正在寻找该文件称为/etc/network/interfaces
。
使用文本编辑器以root权限打开此文件:
sudo nano /etc/network/interfaces
如果您在创建IPv6时启用IPv6,则您将看到这两个部分(如果您还启用了专用网络,则可能还有更多):
iface eth0 inet6 static
. . .
iface eth0 inet static
. . .
为了确保IPv4的接口不回来了重启功能,删除或注释掉inet
的部分eth0
,这样只有inet6
部分用于定义eth0
:
iface eth0 inet6 static
. . .
#iface eth0 inet static
#. . .
如果您在Droplet的创作通过点击“启用IPv6的”按钮后启用了IPv6,你将需要删除或注释掉inet
的部分eth0
配置就像上面。
但是,您还需要将IPv6部分添加到配置中。 添加以下详细信息以配置IPv6:
iface eth0 inet6 static
address public_ipv6_address
netmask 64
gateway public_ipv6_gateway
autoconf 0
dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 209.244.0.3
保存并在完成后关闭文件。
如果您需要立即禁用IPv4,则可以执行有关临时禁用IPv4的部分中的步骤。 否则,IPv4将在下次引导时禁用。
结论
您现在应该具有只能通过其IPv6地址可用的Droplet。 这可能使某些程序更困难,但在某些情况下也可能有用。 您可以通过逆转本指南中的步骤轻松地逆转此操作。
要了解如何将其他的IPv6地址添加到您的Droplet ,请点击此处。 有关更多信息, 使用工具和应用程序配置IPv6的工作 ,看看这个链接。