在VPS上配置IPv6

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

每个示例均假设一个IPv6子网为 2001:db8:1000::/64。您将需要使用已分配的子网更新它们。

我们将使用 2001:db8:1000::100 作为要分配的主要IPv6地址。我们还将配置 2001:db8:1000::200 作为辅助IPv6地址。不需要添加辅助IPv6,但是它显示了您想要多个IPv6地址时将使用的过程。

重要的提示注意:如果将IPv6子网添加到现有计算机,则必须先通过Vultr控制面板重新启动服务器,然后IPv6才能起作用。仅通过SSH或类似方法重新启动是不够的。在重新启动服务器之前,IPv6根本无法工作。如果您在初始服务器部署期间选择了IPv6,则此方法不适用。

在Vultr控制面板中,有为每个VM生成的配置示例。这些位于VM的IPv6设置下,标记为“请参阅配置示例或文档。”。

CentOS 6,CentOS 7

将以下行添加到 /etc/sysconfig/network-scripts/ifcfg-eth0 文件。

IPV6INIT="yes" 
IPV6ADDR="2001:db8:1000::100/64" 
IPV6_AUTOCONF="yes" 
IPV6ADDR_SECONDARIES="2001:db8:1000::200/64" 

重新启动网络或重新启动。

service network restart

如果您启用了IP转发(使用服务器作为VPN或类似设备),则还需要在 /etc/sysctl.conf 文件。这些变量的默认设置(为1)会在启用IP转发时阻止IPv6正常工作。您可以通过运行“sysctl net.ipv4.ip_forward”。

net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2

CentOS的8

动态配置

填充 /etc/sysconfig/network-scripts/ifcfg-ens3 带有以下文本的文件。

TYPE="Ethernet" 
DEVICE="ens3" 
ONBOOT="yes" 
BOOTPROTO="dhcp" 
IPV6INIT="yes" 
IPV6_AUTOCONF="yes" 
IPV6ADDR_SECONDARIES="2001:db8:1000::100 2001:db8:1000::200" 

重新启动连接,或重新启动。

nmcli con load /etc/sysconfig/network-scripts/ifcfg-ens3
nmcli con up 'System ens3'

Debian 8

动态配置

对于动态配置,将以下行添加到 /etc/network/interfaces 文件。

iface eth0 inet6 auto

重新启动网络或重新启动。

systemctl restart networking.service

静态配置

对于静态配置,请将以下行添加到 /etc/network/interfaces 文件。

iface eth0 inet6 static
address 2001:db8:1000::100
netmask 64
up /sbin/ip -6 addr add dev eth0 2001:db8:1000::200

重新启动网络或重新启动。

systemctl restart networking.service

Debian 9,Debian 10

动态配置

对于动态配置,将以下行添加到 /etc/network/interfaces 文件。

iface ens3 inet6 auto

重新启动网络或重新启动。

systemctl restart networking.service

静态配置

对于静态配置,请将以下行添加到 /etc/network/interfaces 文件。

iface ens3 inet6 static
address 2001:db8:1000::100
netmask 64
up /sbin/ip -6 addr add dev ens3 2001:db8:1000::200

重新启动网络或重新启动。

systemctl restart networking.service

浅顶软呢帽26-28

将以下行添加到 /etc/sysconfig/network-scripts/ifcfg-ens3 文件。

IPV6INIT="yes" 
IPV6ADDR="2001:db8:1000::100/64" 
IPV6_AUTOCONF="yes" 
IPV6ADDR_SECONDARIES="2001:db8:1000::200/64" 

重新启动网络或重新启动。

systemctl restart network.service

Fedora 29-31

运行以下命令以进行动态IPv6配置以及一个附加的IPv6地址(/ 128)。可以以相同的方式添加其他地址。

nmcli con mod 'Wired connection 1' ipv6.method 'auto' ipv6.addresses ''
nmcli con mod 'Wired connection 1' +ipv6.addresses '2001:db8:1000::200/128'
nmcli con up 'Wired connection 1'

FreeBSD 10.x,FreeBSD 11.x,FreeBSD 12.x

动态配置

对于动态配置,将以下行添加到 /etc/rc.conf 文件。

ifconfig_vtnet0_ipv6="inet6 accept_rtadv" 
ipv6_activate_all_interfaces="YES" 
rtsold_enable="YES" 
rtsold_flags="-aF" 

启动路由器请求守护程序或重新启动。

service rtsold start

静态配置

对于静态配置,请将以下行添加到 /etc/rc.conf 文件。

rtsold_enable="YES" 
ipv6_activate_all_interfaces="YES" 
rtsold_flags="-aF" 
ifconfig_vtnet0_ipv6="inet6 2001:db8:1000::100 prefixlen 64" 
ifconfig_vtnet0_alias0="inet6 2001:db8:1000::200 prefixlen 64" 

启动路由器请求守护程序或重新启动。

service rtsold start

OpenBSD 6.0-OpenBSD 6.2

将以下行添加到 /etc/hostname.vio0 文件。

inet6 autoconf -autoconfprivacy
inet6 alias 2001:db8:1000::200 64

重新启动接口或重新启动。

sh /etc/netstart vio0

OpenBSD 6.3-OpenBSD 6.6

将以下行添加到 /etc/hostname.vio0 文件。

inet6 autoconf -autoconfprivacy -soii
inet6 alias 2001:db8:1000::200 64

重新启动接口或重新启动。

sh /etc/netstart vio0

Ubuntu 14.04

动态配置

对于动态配置,将以下行添加到 /etc/network/interfaces 文件。

iface eth0 inet6 auto

重新启动实例。

静态配置

对于静态配置,请将以下行添加到 /etc/network/interfaces 文件。

iface eth0 inet6 static
address 2001:db8:1000::100
netmask 64
up /sbin/ip -6 addr add dev eth0 2001:db8:1000::200

IP转发

如果您启用了IP转发(使用服务器作为VPN或类似设备),则还需要在 /etc/sysctl.conf 文件。这些变量的默认设置(为1)会在启用IP转发时阻止IPv6正常工作。您可以通过运行“sysctl net.ipv4.ip_forward”。

net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2

Ubuntu 16.04

动态配置

对于动态配置,将以下行添加到 /etc/network/interfaces 文件。

iface ens3 inet6 auto

重新启动网络或重新启动。

systemctl restart networking.service

静态配置

对于静态配置,请将以下行添加到 /etc/network/interfaces 文件。

iface ens3 inet6 static
address 2001:db8:1000::100
netmask 64
up /sbin/ip -6 addr add dev ens3 2001:db8:1000::200

重新启动网络或重新启动。

systemctl restart networking.service

Ubuntu 17.10,Ubuntu 18.xx,Ubuntu 19.xx

填充 /etc/netplan/10-ens3.yaml 带有以下文本的文件。

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes
      addresses:
        - '2001:db8:1000::200/64'

更新网络或重新启动。

netplan apply

Windows Server 2012 R2,Windows Server 2016,Windows Server 2019

在您的系统上找到公共接口名称。您可以使用 ipconfig /all 或浏览Windows控制面板。

取代“Ethernet”(Windows选择的公共接口名称)并运行以下命令。

netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 add address interface="Ethernet" address="2001:db8:1000::100/64" 
netsh interface ipv6 add address interface="Ethernet" address="2001:db8:1000::200/64" 

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com