阿里云公开的CentOS镜像将IPv6支持给去掉了,需要加载相关模块。通过HE的tunnelbroker开启IPv6隧道使国内VPS支持IPv6地址。
IPV6模块
1、修改/etc/modprobe.d/disable_ipv6.conf文件
vim /etc/modprobe.d/disable_ipv6.conf
把options ipv6 disable=1 修改为 options ipv6 disable=0
2、修改/etc/sysconfig/network
vim /etc/sysconfig/network
修改前
NETWORKING=yes
HOSTNAME=coolnull
NETWORKING_IPV6=no
PEERNTP=no
GATEWAY=*.*.*.*
修改后
NETWORKING=yes
HOSTNAME=coolnull
NETWORKING_IPV6=yes
PEERNTP=no
GATEWAY=*.*.*.*
3、修改/etc/sysctl.conf
vim /etc/sysctl.conf
修改前
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
修改后
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
4、创建系统在启动时自动加载 IPv6 模块的脚本
创建脚本
vim /etc/sysconfig/modules/ipv6.modules
!/bin/sh
if [ ! -c /proc/net/if_inet6 ] ; then
exec /sbin/insmod /lib/modules/uname -r/kernel/net/ipv6/ipv6.ko
fi
5、重启服务器,检查内核是否已经支持ipv6
sysctl -a | grep ipv6 | grep disable
运行以上命令,查看有无回显,若有回显说明内核已经支持ipv6
若没有回显,重启服务器,使内核生效
6、开启内核参数支持ipv6
- sysctl -w net.ipv6.conf.all.disable_ipv6=0
- 再次运行sysctl -a | grep ipv6 | grep disable
- 若参数全部为0,则说明ipv6已经全部支持
- 至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后
- lsmod | grep ipv6
- ifconfig | grep -i inet6
申请ipv6地址
1、进入tunnel官网申请一个账号,链接如下
https://www.tunnelbroker.net/
2、选择 Create Regular Tunnel 创建一个到自己公网 IP 的通道。
3、到此可能会遇到在输入自己地址之后,提示ping不通的情况,按如下教程处理
登录阿里云控制台->找到安全组规则->添加安全组规则
按照下图操作,
到此可以本地和服务器都ping一下,问题得以解决。
4、回到第二步,地址填好之后,找到Example Configurations
红线圈出来的就是你所得到的地址
2001:470:18:177e::2
原文链接:https://blog.csdn.net/WaiTinglw/article/details/104086370