文章目录
一 IPV6介绍
-
什么是IPV6
-
IPv6是一种互联网协议,是IPv4的升级版,它是下一代互联网协议,旨在解决IPv4在可用地址空间、路由表大小、安全性、移动性和自配置等方面的限制。
-
IPv6的主要特点包括:
1.地址空间更大:IPv6地址长度为128位,比IPv4的32位地址空间更大,可以提供更多的地址空间,支持更多的设备连接到互联网。
2.更好的路由表管理:IPv6采用层次化的地址结构,可以减少路由表的大小,提高路由效率。
3.更好的安全性:IPv6支持IPsec协议,可以提供端到端的加密和认证,确保数据传输的安全性。
4.更好的移动性:IPv6支持移动IPv6(MIPv6)协议,可以支持设备在不同网络之间切换时保持连接。
5.更好的自配置:IPv6支持自动配置功能,设备可以通过向网络发送请求来获取地址和其他配置信息,简化了网络管理。
-
为什么需要升级到IPv6?
由于IPv4地址空间的枯竭,IPv6成为了必要的升级。IPv4只有4.3亿个地址,而且已经基本用完,而IPv6地址空间非常大,可以为每个人、每个设备分配一个唯一的IP地址,解决了IPv4中地址短缺的问题。
此外,IPv6还支持更好的安全性、移动性和自配置功能,可以提高网络的效率和安全性。因此,IPv6的升级是互联网发展的必然趋势。
-
-
IPV6跟IPV4的不同
- 地址空间不同:IPv4的地址空间是32位,约42亿个地址,而IPv6的地址空间是128位,约有3.4×10^38个地址,大大提高了地址的可用性和扩展性。
- 地址表示不同:IPv4的地址是以点分十进制的方式表示,如192.168.1.1,而IPv6的地址是以冒号分隔的16进制数表示,如2001:0db8:85a3:0000:0000:8a2e:0370:7334。
- 网络层协议不同:IPv4使用ARP协议来解析MAC地址,而IPv6则使用邻居发现协议(Neighbor Discovery Protocol)来解析MAC地址。
- 安全性不同:IPv6在设计时考虑了更多的安全选项,如IPsec,可以提供更好的安全性。
二 光猫和路由设置获取IPv6步骤
在正式设置前,先谈一谈为什么要获取IPv6,得到IPv6地址到底有什么作用?
三大运营商安装好宽带的后,默认都是把光猫设置为路由模式,而你内部网络获取到的IP基本都是192开头的私网地址,所以外网是无法直接访问到你的内网。你就算打电话跟运营商要IPV4地址,一般情况下会叫你转成专线,说简单点是拿IPV4稀缺性卖更高的价钱,所以退而求其次,通过IPV6实现内外网设备的直连。你在网上查看自己的IPV4公网地址时,一般情况下会显示一个公网地址,实际你是无法使用的,因为那是你整个小区共用的一个公网IPV4地址,而实际上是IPV4公网地址做的NAT转换,到你至少是两层NAT以上,所以你在外面就想访问到家里的内部设备转换层数太多,一般是无法访问。
下面说下如何做IPV6的DDNS步骤
2.1 光猫设置桥接步骤
-
这里我以联通宽带为例在浏览器中输入光猫管理地址,默认为192.168.1.1,输入用户名和密码登录【不是光猫背部的用户名和密码】
- 要进入管理员界面才可以修改桥接模式,不知道账号密码的可以百度下或者问宽带师傅
- 我的是联通宽带默认的管理账号密码都是:CUAdmin
- 我的是联通宽带默认的管理账号密码都是:CUAdmin
- 要进入管理员界面才可以修改桥接模式,不知道账号密码的可以百度下或者问宽带师傅
-
登陆进管理员页面后,选择“基本配置”,左侧找到“宽带设置”,根据我图片标注修改对应选项,然后’保存’
-
在路由器界面根据我图片所示选择对应内容,WAN选择为’PPPoe’拨号,在IPV6页面选择’Native’模式,一般情况获取到IPV6地址,会以2408开头,因为各自路由器不相同,但是大致的配置就是我图片里说明的
-
看路由器是否拨号成功后,看能连接外网吗?也可以去光看是否拨号成功
-
路由器拨号成功后,查看是否获取IPV6公网地址
- 那里查看IPV6的地址是否获取成功
-
windows可以按
Alt+R
调出CMD窗口,输入ipconfig
查看是否获取到IPv6地址,如图所示
-
Linux可以在命令行输入
curl -s https://v6.ident.me
就看到获取的ipv6地址
-
- 那里查看IPV6的地址是否获取成功
三 阿里云DDNS的设置以及AK和SK获取
3.1 阿里云DDNS设置步骤
-
前提是你已经拥有了自己的域名,至于如何申请域名,根据阿里云的申请要求来就可以了
-
登录阿里云后,选择右上角的’控制台’
-
进入控制台后,选择下面的’资源管理’-》‘域名’-》‘管理资源’
-
进入页面后再左侧’基本信息’下的点击’域名解析’
-
点击添加’添加记录’
-
根据我在截图里标记的内容进行选择
-
在右上角找到头像,选择AccessKey管理
-
在身份管理下找到用户,创建用户,勾选’OpenAPI’,创建成功后会生成AK和SK,记得保存好后面会用。
-
返回到身份管理->用户界面点击最右侧的添加权限,根据我的截图给予对应的权限即可,此时距离成功已经非常近了
四 Shell脚本自动更新DNS
4.1 更新阿里DNS脚本步骤
脚本里的’RECORDID’和’RR’的说明,看下图
4.2 更新DNS脚本
#创建脚本
vim ali-ddns.sh
#定义脚本变量,具体填写内容可以看我上面截图
ACCESSKEYID=<AccessKey ID>
ACCESSKEYSECRET=<AccessKey Secret>
DOMAINNAME=<域名>
RECORDID=<记录ID>
RR=<主机记录>
#获取当前主机IPv6地址
get_ipv6_address() {
ipv6_address=$(curl -s https://v6.ident.me/)
echo $ipv6_address
}
#脚本中更新DNS
update_dns_record() {
ipv6_address=$1
timestamp=$(date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ")
signature=$(echo -n "GET&%2F&AccessKeyId%3D$ACCESSKEYID%26Action%3DUpdateDomainRecord%26DomainName%3D$DOMAINNAME%26Format%3DJSON%26RR%3D$RR%26RecordId%3D$RECORDID%26SignatureMethod%3DHMAC-SHA1%26SignatureNonce%3D$timestamp%26SignatureVersion%3D1.0%26Timestamp%3D$timestamp%26Type%3DAAAA%26Value%3D$ipv6_address" | openssl dgst -sha1 -hmac "$ACCESSKEYSECRET&" -binary | base64)
curl -s "http://alidns.aliyuncs.com/?Action=UpdateDomainRecord&DomainName=$DOMAINNAME&RR=$RR&Type=AAAA&Value=$ipv6_address&RecordId=$RECORDID&Format=json&AccessKeyId=$ACCESSKEYID&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&Timestamp=$timestamp&Signature=$signature"
}
#定时执行更新DNS
while true
do
ipv6_address=$(get_ipv6_address)
update_dns_record $ipv6_address
sleep 300 # 每隔5分钟执行一次更新操作
done
#给与执行权限
chmod +x ali-ddns.sh
#执行脚本
sh ali-ddns.sh > /dev/null 2>1& &
4.3 守护脚本的监视DNS更新程序
vim monitor-ddns.sh
#!/bin/bash
ps -aux | grep -v grep |grep ali-ddns.sh
if [ $? -ne 0 ]
then
nohub sh /root/scripts/ali-ddns.sh > /dev/null 2>&1
fi
#给与执行权限
chmod +x monitor-ddns.sh
#定时执行守护程序,
crontab -e
*/10 * * * * /root/scripts/monitor-ddns.sh >/dev/null 2>&1 #每10分钟执行一次守护程序
终于完成了,现在你可以通过域名的方式访问家里的Linux系统的内部设备,例如:NAS,aria2等程序。如果需要IPV4的DDNS脚本可以留言,我会更文章内容。