每个示例均假设一个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上测试通过