通过IPV6+DDNS实现路由器远程管理和Win远程桌面控制

前期需要的准备:

  1. 软路由,什么系统都可以,要支持IPV6,能够自动添加解析
  2. 光猫的管理员账号,能够进入光猫修改配置,拨号上网账号
  3. 域名账号和DNS服务

主要步骤:

  1. 利用管理员账号,进入光猫,新增一个Internet配置,绑定千兆网口,比如Lan1,然后记录原本上网配置里的VLAN ID,新建的配置也要设置这个Tag,IP协议版本选择V4/V6后,选择桥接保存就可以了,光猫就设置好了,但目前还不能上网,需要记录一下拨号账号和密码。
  2. 进入路由器界面,此时路由器应该连着刚才绑定的LAN1口,这里要设置PPPoE拨号上网模式,输入账号与密码,然后就可以上网了。
  3. 打开IPV6功能,选择NativeDHCPv6,WAN0(PPPoE),Stateless:RA,自动获取DNS,打开内网DHCPv6, 路由器通告,启用服务器选择Stateless。
  4. 保存后应该可以看到路由器多了ipv6 WAN和ipv6 LAN,其中WAN是可以直接外网访问的,而LAN网络里的ipv6地址目前应该还不能直接访问,这里主要原因是防火墙设置不对,包括电脑防火墙、路由器防火墙和光猫防火墙,可以直接关掉测试。然后根据服务判断端口是不是打开了in和out。
  5. 防火墙问题解决后,就意味着可以通过公网直接访问你的所有ipv6地址,现在我们要做的就是将这个地址,解析绑定我们的域名,这里我用的是腾讯云,你可以将路由器管理界面的地址设置成router.xxx.com.也可以将LAN网络里的主机地址设置为Computer.xxx.com.这样就可以直接通过域名访问ipv6地址了
  6. 目前的ipv6地址是动态的,所以,域名解析也要不断更新,这个时候就需要一个程序,专门按时更新域名指向的ipv6地址.在软路由上,应该可以找到类似的功能,只需要你申请对应的API接口就行,输入你的域名和二级域名,ID和KEY,就能自动更新路由器的WAN地址到你的router.xxx.com
  7. 主机的话,需要写一个简单的脚本来实现,我是直接搭了Python3的环境,写了一个py脚本,然后windows设置计划执行就可以,具体的脚本如下,主要功能就是得到当前主机的ipv6地址,然后将其通过腾讯云API接口上传更改。
import json
import requests
import subprocess
import re
import time
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.dnspod.v20210323 import dnspod_client, modelsdef ReturnRecordId(Domain, SubDomain):"""获取指定记录的RecordId:param Domain: 主域名:param SubDomain: 待修改的子域:return: RecordId 或错误码"""try:cred = credential.Credential(SecretId, SecretKey)  # 凭证httpProfile = HttpProfile()httpProfile.endpoint = "dnspod.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = dnspod_client.DnspodClient(cred, "", clientProfile)req = models.DescribeRecordListRequest()params = {"Domain": Domain}req.from_json_string(json.dumps(params))resp = client.DescribeRecordList(req)for record in resp.RecordList:if record.Name == SubDomain:return record.RecordId# print("未找到对应的记录值,请先创建相应的主机记录!")return -2except TencentCloudSDKException:# print("获取域名的记录列表失败,请重试!")return -1def ModifyDynamicDNS(RecordId, Domain, SubDomain, Ip):"""动态域名解析API:param RecordId: 待修改记录ID:param Domain: 主域名:param SubDomain: 子域名:param Ip: IP地址:return: 操作成功返回1,否则返回0"""try:cred = credential.Credential(SecretId, SecretKey)httpProfile = HttpProfile()httpProfile.endpoint = "dnspod.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = dnspod_client.DnspodClient(cred, "", clientProfile)req = models.ModifyDynamicDNSRequest()params = {"Domain": Domain,"SubDomain": SubDomain,"RecordId": RecordId,"RecordLine": "默认","Value": Ip}req.from_json_string(json.dumps(params))resp = client.ModifyDynamicDNS(req)# if str(RecordId) in resp.to_json_string():#     print("更新成功!")return 1except TencentCloudSDKException:return 0def get_global_ipv6_address():# 适用于Windows的命令command = "ipconfig"process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)stdout, stderr = process.communicate()# 解析ipconfig输出查找IPv6地址ipv6_addresses = re.findall(r"IPv6 地址 . . . . . . . . . . . . : ([\da-fA-F:]+)", stdout)# 过滤掉本地链接地址global_ipv6_addresses = [addr for addr in ipv6_addresses if not addr.startswith("fe80:")]return global_ipv6_addresses[0]if __name__ == "__main__":SecretId = "xxx"  # 腾讯云账户API密钥IDSecretKey = "xxx"  # 腾讯云账户API密钥KeyDomain = "xxx.xxx"  # 主域名SubDomain = "xxx"  # 指定要修改的子域名interval = 600  # 每10分钟检查一次IPRecordId = ReturnRecordId(Domain=Domain, SubDomain=SubDomain)if RecordId < 0:exit()CurrentIP = get_global_ipv6_address()res = ModifyDynamicDNS(RecordId=RecordId, Domain=Domain, SubDomain=SubDomain, Ip=CurrentIP)# if res:#     print(f'IP成功更新!IPV6:{CurrentIP}')# else:#     print('动态域名解析API出问题了')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/810371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外贸开发信必知技巧:高回复率不再是梦

外贸行业在Zoho的客户群体中占比较高。因为我们的国际化背景、丰富的产品组合、多语言多币种跨时区、高性价比等特点&#xff0c;成为外贸企业开展业务的选择。在和外贸客户沟通中&#xff0c;发现无论是外贸大拿还是新手小白&#xff0c;大家遇到一个共同的问题——发出去的开…

深入浅出dhcpcd:Linux环境下的动态主机配置协议客户端

在现代网络环境中&#xff0c;自动获取IP地址和网络配置已成为基本需求。动态主机配置协议&#xff08;DHCP&#xff09;在简化网络配置方面发挥了关键作用&#xff0c;它允许设备自动从网络服务器获取IP地址和其他网络配置信息。Linux系统中的dhcpcd&#xff08;Dynamic Host …

抖音上阳哥的视频号带货推荐靠谱吗?

在抖音这个短视频平台的广阔天地里&#xff0c;阳哥以其独到的眼光和精准的推荐&#xff0c;成为了众多粉丝心中的带货指南。不同于一些网红直接进行视频号带货&#xff0c;阳哥更多地是以一个推荐人的身份出现&#xff0c;为粉丝们筛选并推荐优质的带货内容。那么&#xff0c;…

python——列表(list)

概念 列表一般使用在一次性存储多个数据 语法 lst[数据1&#xff0c;数据2&#xff0c;.....]方法 #mermaid-svg-flVxgVdpSqFaZyrF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-flVxgVdpSqFaZyrF .error-icon{…

每日一题:找到冠军I

一场比赛中共有 n 支队伍&#xff0c;按从 0 到 n - 1 编号。 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足 0 < i, j < n - 1 且 i ! j 的所有 i, j &#xff1a;如果 grid[i][j] 1&#xff0c;那么 i 队比 j 队 强 &#xff1b;否则&#x…

图像版PDF文件OCR识别转换为文本的3款免费工具软件

图像版PDF文件里面都是图片&#xff0c;要先通过OCR技术识别出文本&#xff0c;然后才能进行进一步处理编辑。下面是3个免费的PDF文件OCR识别软件工具&#xff1a; ●简可信PDF批量识别工具 简可信PDF批量识别工具是一款专门用于将PDF文件进行批量OCR&#xff08;光学字符识别…

针对“AI+医疗”的可行方案

针对“AI+医疗”的可行方案如下: 一、方案目标 利用AI技术,结合医疗数据,开发一套高效、准确的医疗辅助系统,旨在提高医疗诊断的精度、加速药物研发进程、优化疾病预测模型,从而辅助医生进行疾病诊断和治疗方案制定。 二、方案内容 医疗数据整合与预处理 收集各类医疗数…

ObjectiveC-第一部分-基础入门-学习导航

专题地址:MacOS一站式程序开发系列专题 第一部分:基础入门学习导航 OSX-01-Mac OS应用开发概述:简单介绍下MacOS生态、Xcode使用以及使用Xcode创建app的方法OSX-02-Mac OS应用开发系列课程大纲和章节内容设计:介绍下此系列专题的文章内容组织形式以及此系列专题的覆盖内容…

【QT教程】QT6 Web应用实战

QT6 Web应用实战 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免费…

二叉树,非递归的深度遍历

#include<iostream> using namespace std; #define MAXSIZE 500 typedef struct tree{char data;struct tree *lchild;struct tree *rchild;}tree,*Tree;//非递归算法的深度遍历 //不利用系统的递归栈&#xff0c;自己自定义栈&#xff0c;用来实现先序遍历 //先将右孩子…

虚假贸易防控:国资委74号文解读,技术人员如何建防?

官.网地址&#xff1a;合合TextIn - 合合信息旗下OCR云服务产品 2023年12月&#xff0c;国资委发布《关于规范中央企业贸易管理严禁各类虚假贸易的通知》&#xff08;国资发财评规[2023]74号&#xff09;&#xff0c;提出“十不准”&#xff0c;严禁央企开展各类虚假贸易业务…

斐波那契数列经典应用之兔子繁殖问题

问题描述 此处有一题&#xff1a;有一对小兔子&#xff0c;从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律&#xff0c;假设没有兔子死亡&#xff0c;第一个月有一对刚出生的小兔子&#xff0c;问第n个月有多少对兔子&#xff1f; 分析…

Vue 引入config.js后别的js访问不到window对象下的属性

Vue项目里,我们项目配置的请求服务器地址都是在public里config.js里,如下例: 然后在index.html里引入config.js,如下图: 这里要注意的是,script的src要写上<%= BASE_URL %>,代码如下: <!DOCTYPE html> <html><head><meta charset="…

LeetCode 每日一题 ---- 【2923. 找到冠军 I】

LeetCode 每日一题 ---- 【2923. 找到冠军 I】 2923.找到冠军I方法一&#xff1a;暴力求解 2923.找到冠军I 方法一&#xff1a;暴力求解 从头遍历一遍二维数组&#xff0c;如果发现 gird[x][y] 1&#xff0c;说明 x 队赢过 y 队&#xff0c;下面我们就只需要子再判断一下是否…

NCBI 数据下载

网上介绍的那几种直接下载NCBI数据的方法大都下载速度很慢&#xff0c;但是EBI (European Bioinformatics Institute) 下载很快&#xff0c;而且它的数据库和NCBI是共享的&#xff0c;所以我们可以直接从 EBI 下载。 1 、 确定要下载的 SRA 编号&#xff1b; 2 、 EBI (https…

单片机的按键消抖/开关量监测函数(附源码,可移植)

方案一&#xff1a;纯软件延时 sbit KEY P1^3; ///按键读取函数 uint8_t GetKey(void) {if(KEY 1){DelayMs(20); //延时消抖if(KEY 1){return 1;}else {return 0;}}else {return 0;} }致命缺点&#xff1a;在延时的时候一直占用cpu的资源&#xff0c;如果在延时的时…

探索点云与KD-Tree配对的方法

比较点云是处理和分析点云数据的关键步骤。然而,由于各个扫描之间固有的差异,无法进行逐点比较。因此,点云分析的第一步也是主要步骤是将点配对以进行有意义的比较。 配对点是区分表面变形和运动分析的关键任务。这个过程不仅为变形分析提供了见解,还使我们能够通过比较不…

华为海思数字芯片设计笔试第五套

声明 下面的题目作答都是自己认为正确的答案&#xff0c;并非官方答案&#xff0c;如果有不同的意见&#xff0c;可以评论区交流。 这些题目也是笔者从各个地方收集的&#xff0c;感觉有些题目答案并不正确&#xff0c;所以在个别题目会给出自己的见解&#xff0c;欢迎大家讨论…

鼠标灵敏度怎么调,鼠标灵敏度怎么调最稳

鼠标和键盘是操作计算机过程中使用最频繁的设备之一&#xff0c;用电脑的时&#xff0c;我敢说你一定离不开鼠标。有些用户发现鼠标不太好用&#xff0c;尤其是在游戏时&#xff0c;总觉得鼠标移动太慢了。另外&#xff0c;如果你感觉鼠标按键失灵、鼠标单击变双击以及反应迟钝…