随着IPV6的普及,极大的丰富了IP数据库的容量,可用数量可做到给每粒沙子分配IP的程度。
市面上70%路由器默认不开启IPV6、只有30%默认开启IPV6,开启IPV6需要进行测试,以小米祖传断流王路由器AX9000为例,开启IPV6后,需要设置防火墙关闭才可以允许数据入站。
现在市场上的路由器默认不支持IPV6 DDNS,普遍是IPV4 DDNS (一个内网IPv4要DDNS何用)
也有为数几家公司提供IPV6动态域名服务、目前再用的是每步动态域名。
下面是网站的说明:
| 本站IPV6解析支持登陆一次解析一个路由器下所有IPV6设备的域名 | ||
本功能是提供IPV6解析,因为IPV6基本固定,故直接复制到这里提交就可解析出来,注册每步域名然后提交IPV6,就可以解析成功。提交后可以通过访问Online Ping Tool (IPv4 & IPv6) 来测试解析结果 | ||
欢迎直接在你软件或设备里嵌入IPV6动态域名解析,方法是直接提交 http://ipv6.meibu.com/?id=123&name=aaa.noip.cn&pwd=abc&ipv6=2001:da8::36 这里的ID是识别码,aaa.noip.cn 换成你的域名,abc换成你的密码,IPV6地址换成你的,即可 注意:你软件一定要先判断IP是否改变,改变了再提交,如果做成不论改变与否都提交的方式,一来解析不稳定,二来我们系统会自动封杀这个域名,造成你无法使用 返回"chenggong"为成功,"chongfu"重复提交,"err1"域名写错,"err2"密码写错,"daoqi"域名到期 如想对外发布你做的客户端,请联系我们获取识别码, 支持自己的任意顶级域名 使用你的客户端注册部分收费域名收入的30%归你,此收益长期有效 |
根据官网提供的API,注册好账户后只需要提取本地IPV6更新即可:
具体HTTP请求格式:
http://ipv6.meibu.com/?id=123&name=aaa.noip.cn&pwd=abc&ipv6=2001:da8::36...
有三个参数要修改:name、pwd、ipv6 分别对应域名,密码,IPV6地址
使用JAVA结合CURL即可实现一个简单的IPV6自动监视更新器。
/**
*
*/
package main.ex;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
/**
* @author Administrator
*
*/
public class Refresher {
/**
*
*/
public Refresher() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String CURRENT_IPV6 = "EMPTY";
while(true) {
//更新模拟POST
String NEW_IPV6 = GetComputerIPV6();
if(!CURRENT_IPV6.equals(NEW_IPV6)) {
updateDDNS(NEW_IPV6);
CURRENT_IPV6 = NEW_IPV6;
}
//5秒轮巡监视IPV6变换并更新
try {
Thread.sleep(1000 *5);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void updateDDNS(String ipv6) {
String cmd = "C:\\curl-8.0.1_6-win64-mingw\\bin\\curl.exe "
+" -X GET \"http://ipv6.meibu.com/?id=123&name=动态域名&pwd=密码&ipv6="+ipv6+"\"";
try {
Process proc = Runtime.getRuntime().exec(cmd);
//...命令行运行结果输出的代码(略)
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("New IPV6 updated.");
}
public final static String GetComputerIPV6() {
String ipv6 = null;
try {
System.out.println("[Local IPV6]");
for (InetAddress it : InetAddress.getAllByName(System.getenv().get("COMPUTERNAME"))) {
System.out.println(it);
//筛选公网IPV6 2048 2409 240e
if(ipv6 == null & it.toString().contains("/240")) {
ipv6 = it.toString();
}
}
// InetAddress[] ips = InetAddress.getAllByName(System.getenv().get("COMPUTERNAME"));
// ipv6 = ips[ips.length - 1].toString();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("\nSelect ipv6 is "+(ipv6 = ipv6.substring(ipv6.indexOf('/')+1,ipv6.length())));
return ipv6;
}
}
导出为为可执行JAR格式,直接运行即可后台静默更新IPV6 DDNS,显示运行则在CMD命令行运行 java -jar xxx.jar
本文介绍了随着IPV6的普及,如何在智能路由器上配置和使用IPV6 DDNS服务。大部分路由器默认不支持IPV6 DDNS,但通过每步动态域名服务可以实现。详细步骤包括获取本地IPV6地址,根据API进行HTTP请求更新域名,以及利用JAVA和CURL创建自动更新器。最后,生成可执行JAR文件以实现后台静默更新。
1万+

被折叠的 条评论
为什么被折叠?



