介绍:
个人家庭一般没有外网IPv4地址,NAS用IPv6访问优势很多,不方便处就是有可能发生变化,长度大难记忆。
拥有域名现在比较简单,一直想用域名IPv6访问,走过许多弯路,用过诸多免费DNS,需要经常重新来过,有些还开始收费,买过盒子,有诸多限制,比如流量限制。介绍一个简单的实现方法。
条件:
自己拥有域名及虚拟空间或允许您使用的公司及个人的域名或二级域名。
方法:
第一步:使用NAS计划任务执行如下脚本文件IPv6toKIP.sh(脚本中的参数需要根据您的域名及NAS的管理和服务端口修改,注:IPv6toKIP.sh脚本文件是根据铁威马TOS系统写的,如果是其它品牌,需要稍加修改!)。
第二步:上传接受IPv6地址的php文件login.php和显示文件index.php到空间相应目录。
大功告成!
主要源码:
脚本IPv6toKIP.sh
#!/bin/bash
# TNAS IPV6 to Your DomainName by Wang HQ www.kip.cn QQ:18850860
# Ver1.24.03
#获取IPV6地址
ipv6=$(ip addr show|grep -A1 'inet6 [^f:]'|sed -nr ':a;N;s#^ +inet6 ([a-f0-9:]+)/.+? scope global .*? valid_lft ([0-9]+sec) .*#\2 \1#p;ta'|grep 'ff:fe'|sort -nr|head -n1|cut -d' ' -f2)
#获取系统时间
now=`date '+%Y-%m-%d %H:%M:%S'`
#下面三个参数需要根据您的域名和NAS端口修改, port0 NAS登录端口, port1 Web服务端口
name="TEST8808"
port0="8181"
port1="8808"
domain="http://www.kip.cn/test/"
url="${domain}login.php?name=${name}&ipv6=${ipv6}&port0=${port0}&port1=${port1}"
re= `ter_curl -s $url`
login.php
<?php
// NAS-ipv6 to Your Domain Name by Wang HQ www.kip.cn QQ:18850860
// FileName:login.php Ver1.24.03
//时间设置为北京时间PHP5.1以上需要
date_default_timezone_set("PRC");
// 检查name和ipv6参数是否存在
if (isset($_GET['name']) && isset($_GET['ipv6'])) {
$name = $_GET['name']; // John
$ipv6 = $_GET['ipv6']; // 30
// 获取当前时间戳
$currentTime = time();
// 将时间戳转换为可读性更好的日期时间格式
$currentDateTime = date('Y-m-d H:i:s', $currentTime);
//获取NAS管理和Web服务端口,默认为铁威马管理端口
$port0="8181";
$port1="8808";
if (isset($_GET['port0'])) {
$port0 = $_GET['port0'];
}
if (isset($_GET['port0'])) {
$port0 = $_GET['port0'];
}
// 处理$name和$ipv6
$content=$ipv6 . "\n" . $name . "\n". $port0 . "\n" . $port1 . "\n" . $currentDateTime . "\n";
$file = 'ipv6.log'; // 要写入的文件名
// 将内容写入到文件
file_put_contents($file, $content);
}
?>
您可以修改index.php直接跳转到您的IPv6加端口。