网站首页 > 精选文章 正文
最近不少人问我、没有IPV4的公网IP、怎么更简单的使用ipv6
像我自己就是移动宽带、不给ipv4的公网IP、所以只能选择ipv6解析到域名
你需要准备的步骤是
第一、查看你的宽带是否带有ipv6、进光猫查看是否获取到ipv6的地址(如果没有的话下面就不用看了)
第二、进入路由器看看是否获取到ipv6
第三、电脑插上网线或者手机连上wifi、查看网络配置下是否获取到ipv6地址(如果是fe80开头则表示是内网地址)
最好的办法是光猫改桥接、路由器拨号、这样所有连上路由器的设备都能获得一个外网的ipv6地址
现在开始我们的ipv6 ddns教程吧
首先我们需要有阿里云的域名、没有的话可以去申请一个
这里不做教程、价格是首次购买几块钱一年
进入阿里云的控制台
如果没有请自行创建、然后记录下这个AccessKey ID 和 AccessKey Secret
aliddnsipv6_ak="输入你的AccessKey ID"
aliddnsipv6_sk="输入你的AccessKey Secret"
aliddnsipv6_name1='域名记录如www'
aliddnsipv6_domain='主域名不带记录值如toutiao.com'
aliddnsipv6_ttl="600"
if [ "$aliddnsipv6_name1" = "@" ]
then
aliddnsipv6_name=$aliddnsipv6_domain
else
aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain
fi
now=`date`
die () {
echo $1
}
ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $2}' | awk -F"/" '{print $1}'` || die "$ipv6"
for ipv6 in $ipv6s
do
#ipv6 = $ipv6
break
done
echo $ipv6
current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`
#echo $current_ipv6
current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
echo $current_ipv6
if [ "$?" -eq "0" ]
then
current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
echo $current_ipv6
if [ "$ipv6" = "$current_ipv6" ]
then
echo "skipping"
fi
# fix when A record removed by manual dns is always update error
else
unset aliddnsipv6_record_id
fi
timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`
urlencode() {
# urlencode <string>
out=""
while read -n1 c
do
case $c in
[a-zA-Z0-9._-]) out="$out$c" ;;
*) out="$out`printf '%%%02X' "'$c"`" ;;
esac
done
echo -n $out
}
enc() {
echo -n "$1" | urlencode
}
send_request() {
local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"
local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)
curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"
}
get_recordid() {
grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'
}
query_recordid() {
send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"
}
update_record() {
send_request "UpdateDomainRecord" "RR=$aliddnsipv6_name1&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddnsipv6_ttl&Timestamp=$timestamp&Type=AAAA&Value=$(enc $ipv6)"
}
add_record() {
send_request "AddDomainRecord&DomainName=$aliddnsipv6_domain" "RR=$aliddnsipv6_name1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddnsipv6_ttl&Timestamp=$timestamp&Type=AAAA&Value=$(enc $ipv6)"
}
#add support */%2A and @/%40 record
if [ "$aliddnsipv6_record_id" = "" ]
then
aliddnsipv6_record_id=`query_recordid | get_recordid`
#echo '-----------------' $aliddnsipv6_record_id
fi
if [ "$aliddnsipv6_record_id" = "" ]
then
aliddnsipv6_record_id=`add_record | get_recordid`
echo "added record $aliddnsipv6_record_id"
else
update_record $aliddnsipv6_record_id
echo "updated record $aliddnsipv6_record_id"
fi
把上面引用的内容保存成文档如:aliddns.sh
然后修改内容、记得保留双引号和单引号
aliddnsipv6_ak="输入你的AccessKey ID"
aliddnsipv6_sk="输入你的AccessKey Secret"
aliddnsipv6_name1='域名记录如www'
aliddnsipv6_domain='主域名不带记录值如toutiao.com'
ipv6s=`ip addr show eth0 | grep "inet6.*global"
这里的eth0是网口名称、也就是你获取ipv6的网卡名
把eth0修改成你的网卡名
可以使用ifconfig来获取
如下面图片、引用的是网上的图片、ipv4内网地址、ipv6地址、前面eth0就是网卡名
黑群教程、把sh上传到黑群、右击属性复制位置
然后控制桌面》任务计划》新增》用户定义的脚本
输入刚才的位置、然后确定即可
下面是宝塔面板教程
输入我们刚才修改的sh脚本内容即可、linux的话请自行搜索如果自动运行sh脚本
猜你喜欢
- 2025-05-15 OSPFv2和 OSPFv3 有哪些相同点和不同点?
- 2025-05-15 为什么IPv6不支持固定IP作为地址?
- 2025-05-15 网工必备:Ping命令的十个实用技巧
- 2025-05-15 单播以及多播的书写实验
- 2025-05-15 纯净安心+支持IPv6远程使用丨NAS部署Windows激活工具教程
- 2025-05-15 笔记09:IPv6地址配置方法三——DHCPv6有状态地址自动配置
- 2025-05-15 手把手教你DHCPv6实验
- 2025-05-15 小学生钓鱼网站渗透实战
- 2025-05-15 还没见过这么酷的cmd命令
- 2025-05-15 笔记07:IPv6地址配置方法一——手动静态配置
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)