如何配置Droplet仅使用IPv6的网络

IPv6地址现在在选择数据中心DigitalOcean可用。在大多数情况下,你会希望有您的服务器上配置的IPv4和IPv6。然而,在有些情况下,你可能希望完全禁用IPv4公网的一些情况。本指南将告诉你如何禁用IPv4和配置纯IPv6的公共网络环境。

介绍

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的工作 ,看看这个链接。