在你的VPS上配置IPv6

・9 分钟阅读

每个例子都假定为2001:db8:1000::/64的IPv6子网,您需要使用自己的子网替代它们。

我们将使用2001:db8:1000::100作为主要的IPv6地址来分配,我们还将2001:db8:1000::200配置为辅助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

如果你已启用转发,则还需要向/etc/sysctl.conf文件中添加以下行,这些变量(这是1 )的默认设置,使IPv6在启用IP转发时不能正常工作,你可以通过运行"sysctl net.ipv4.ip_forward"检查是否启用了IP转发。


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

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

动态配置

对于动态配置,在/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

Fedora 26 - Fedora 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 ,fedora 30

为动态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.5

将以下行添加到/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转发

如果你已启用(使用你的服务器作为VPN或类似)转发,则还需要向/etc/sysctl.conf文件中添加以下行,这些变量(这是1 )的默认设置,使IPv6在启用IP转发时不能正常工作,你可以通过运行"sysctl net.ipv4.ip_forward"检查是否启用了IP转发。


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

在系统中查找接口名称,你可以使用ipconfig/all或导航Windows控制面板。

用Windows选择的接口名称替换"Ethernet",并运行以下命令。


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"

Naohhuana profile image