在VPS上配置IPv6
以下示例假定您使用的IPv6子网为2001:Db8:1000:/64。请根据分配给您的子网进行相应更新。
我们将采用2001:Db8:1000:100作为主要IP地址,同时使用2001:19f0:4009:2001:1234作为辅助IP地址。虽然添加辅助IP并非必须,但此步骤将展示如何为多个IPv6地址进行配置。
重要提示:在向现有计算机添加IPv6子网后,您必须通过控制面板重启服务器,才能使IPv6正常工作。仅通过SSH或其他方式重启是不够的。在服务器重新启动之前,IPv6无法生效。如果您在最初部署服务器时选择了IPv6,则无需遵循此方法。
Windows:
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 add address interface="Local Area Connection" address="2001:DB8:1000::100/64"
netsh interface ipv6 add address interface="Local Area Connection" address="2001:19f0:4009:2001::1234/64"
CentOS:
在/etc/sysconfig/net-script/ifcfg-eth0中添加以下内容:
IPV6INIT="yes"
IPV6ADDR="2001:DB8:1000::100/64"
IPV6_AUTOCONF="yes"
IPV6ADDR_SECONDARIES="2001:19f0:4009:2001::1234/64"
如果您的服务器启用了IP转发(例如作为VPN或类似用途),请在/etc/sysctl.conf中添加以下内容:
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2
默认设置(1)会阻碍IPv6在启用IP转发时的正常运作。您可以通过运行“sysctl net.ipv4.ip_forward”来检查IP转发是否已启用。
Debian/Ubuntu:
在/etc/network/interfaces中添加以下行:
iface eth0 inet6 static
address 2001:DB8:1000::100
netmask 64
up /sbin/ip -6 addr add dev eth0 2001:19f0:4009:2001::1234
同样,如果启用了IP转发,请在/etc/sysctl.conf中添加以下内容:
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2
默认设置(1)会阻止IPv6在启用IP转发时的正常工作。您可以通过运行“sysctl net.ipv4.ip_forward”来检查IP转发是否已启用。
FreeBSD:
在/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:19f0:4009:2001::1234 prefixlen 64"