基于ipv6实现几乎零成本的内网穿透方案,小白的踩坑历程与经验分享

news2024/9/19 10:54:29

基于ipv6实现几乎零成本的内网穿透方案,小白的踩坑历程与经验分享

前言

最近想远程访问家里nas的想法老在脑海中浮现,原因大概是本人二开了一个管理系统,并在上面跑了些定时任务做自动化,就有了远程访问系统的需求。同时又想到,如果真能实现内网穿透,那么家里的nas真实的成为一个服务器,且配置不低,带宽也凑活,最重要的是与云服务器相比,可以省下一大笔钱。

那说干就干,接着就分析下内网穿透的几个思路:

  • frp形式的,首先需要一台具有公网ip的服务器,并在服务器上跑内网穿透的服务端,自家nas上跑客户端;或者可以购买内网穿透的服务,但可能有安全隐患。我寻思这种方式都需要有公网服务器了,总之就是费钱,那本人省钱的想法就泡汤了,故只能pass。
  • 宽带的公网ip加上ddnsipv4地址现在是不指望了,就算是电信宽带也很难申请到,而且今天我登录光猫上看了wan口的ip地址,是100打头的,好家伙果然是内网地址。但俺发现ipv6地址目前已基本普及,所以打算试试ipv6与ddns结合来进行内网穿透

可行性分析

如果我们要访问的是ipv6的地址,前提是目前的网络必须是支持ipv6的,所以这个可行性俺一定要先测清楚,要保证手机和家里的宽带都得支持。

我简单测试了下,无论是联通还是电信的手机都已经默认支持ipv6了,然后家里的路由器在开启ipv6后也支持了。

可以通过以下两个地址测试:

  • https://test-ipv6.com/
  • https://ipv6.ddnspod.com/

其中第二个如果是ipv6地址访问会返回你的ipv6地址

光猫改桥接,通过路由拨号

现在的宽带默认是通过光猫进行拨号的,这就有几个问题,首先是光猫的性能较差,通过光猫拨号可能会影响速度,但最重要的还是光猫会设置防火墙,可能莫名奇妙的拦截了ipv6的进站请求,奇奇怪怪的,所以首先一定要把光猫改桥接,拨号交给路由器。

1修改光猫:开启桥接和 IPv6 设置

不同运营商的配置方式不同,以下是俺的光猫

进入光猫的后台管理系统,使用超级管理员用户登录:

4大运营商光猫默认初始超级密码:

1、电信超级密码 telecomadmin nE7jA%5m

2、移动超级密码 CMCCAdmin aDm8H%MdA

3、联通超级密码 CUAdmin CUAdmin

4、广电超级密码 admin aDm8H%MdA

连接名称 选择 3_INTERNET_R_VID_41连接模式 选择 桥接IP模式IPv4&IPv6。点击 保存/应用,大约等待 10s 会生效。

3_INTERNET_R_VID_41

在状态菜单中,可以看到 IPv4IPv6 已经开启成功。

2设置路由器PPPoE拨号和开启 IPv6设置

这是本人的路由器,办理电信宽带的时候送的,相当丑…

查看路由器背后的管理地址,登录路由器的后台

默认用户名和密码都是admin

进入网络配置菜单,上网方式选择拨号上网(PPPoE),输入宽带的账号和密码,一定要勾选IPV6,获取方式选择自动就行了,拨号生效需要几分钟。

拨号成功后查看状态信息,可以看到ipv4和ipv6地址都有了,其中GUA指的其实就是ipv6地址

至此,光猫改桥接,路由拨号完成。

ipv6地址测试

首先我们拿着路由器上的ipv6地址先试试到底是不是公网的,毕竟电信太坑了保不齐又是内网…

嗯,没问题!!

我们再通过命令行ping下看通不通

可以看到也是没有问题的

有问题的小伙伴请记得将路由器的防火墙关闭!!!

那么我们再试试通过ipv6地址直接访问路由器的管理台是否可行呢?果然,成功了!!!这也太惊喜了!!

路由器没问题了就试试我的nas吧!!嘿嘿!

本人使用的是unas,,这个特别坑的nas系统…

可以看到也正确获取了ipv6的地址

因为ipv6的地址是公网的,所以不能写成静态ip,推荐使用自动的。

那么这个地址的公网的吗,答案是的!

那么通过这个ipv6地址进行访问可行么?可行!太惊喜了!

接下来就只剩下一个ipv6地址是动态的这个问题了,但是有解决方案,通过ddns的方式动态解析域名地址就行了。

ddns方案

提供ddns方案的厂家有很多,比如阿里云,腾讯云,dnsPod等,但俺认为最靠谱的还是cloudflare这个老牌的厂商。

ddns的原理简单理解就是,通过给一个域名添加AAAA记录解析到一个ipv6地址。同时在自家的nas上运行定时检测ip变化的任务,如果域名发生变化就发送api请求,将域名解析到最新的ipv6地址。

获取一个域名

购买域名的方式就不赘述了,网上太多文章有介绍,俺在很早前买了一个10年期限的数字域名,不到100,至今还没过期,嘿嘿,相当于免费了,以前不知道有啥用,没想到现在排上用场了

cloudflare添加dns解析记录

cloudflare添加dns解析,记住不能选择代理

解析需要一定时间生效,等几分钟就可以试试使用域名访问了

ddns-go

定时更新最新ip这种程序必然是有大佬造过轮子了,目前最火的应该是ddns-go,我们对大佬致以最真诚的敬意!!并随了个赞!!

因为nas基本都支持docker了,所有俺通过docker方式安装,安装过程是傻瓜式的,ddns-go的说明也很清楚了。

安装好后就是这个界面,我们选择cloudflare

token通过在cloudflare中创建令牌获取

查看效果

好了所有工作都完毕了,我们可以愉快的在外网通过域名访问我们在内网中的服务了

ipv6理论

ipv6比ipv4复杂很多,我觉得知其然也得知其所以然,所以一些理论的东西也得了解,但在本文就不介绍了,贴点大佬的分享吧

链接:红茶三杯http://www.ccietea.com/大佬的视频

【IPv6 01】IPv6概述 https://www.youtube.com/watch?v=scyzX3Zd5JU
【IPv6 02】IPv6基础配置 https://www.youtube.com/watch?v=Vr-UvtwA3kA
【IPv6 03】ICMPv6详解(上) https://www.youtube.com/watch?v=MYBcNPUx9YU
【IPv6 04】ICMPv6详解(中)无状态自动配置 https://www.youtube.com/watch?v=s_yASxcjMl0
【IPv6 05】ICMPv6详解(下)以及DHCPv6 https://www.youtube.com/watch?v=pw46Qu6Shsc
链接:openwrt官方文档

Network Interfaces https://oldwiki.archive.openwrt.org/zh-cn/doc/networking/network.interfaces
Switch Documentation https://oldwiki.archive.openwrt.org/zh-cn/doc/uci/network/switch
链接:他人整理文档

闲谈IPv6-典型特征的一些技术细节
https://blog.csdn.net/dog250/article/details/8169984
闲谈IPv6-一起玩转IPv6地址自动配置
https://blog.csdn.net/dog250/article/details/88176596

参考文章

  • 4大运营商光猫默认初始超级密码
  • IPv6 工具箱使用文档
  • 个人宽带如何开启IPv6网络访问
  • 如何利用CloudFlare设置Dynamic DNS(DDNS)获取动态IP教程](https://www.veidc.com/37858.html)

欢迎交流

以上是本人作为小白的一些踩坑与分享总结,写的比较粗糙很多东西也没讲清楚,欢迎大家评论补充意见。如果有什么不懂的可以评论区留言或者私信或者加技术交流群讨论都行。这是本人的博客地址:https://huanglusong.github.io/,时不时会分享些技术内容,有兴趣的小伙伴可以收藏。本人主业是java程序员,业余时间喜欢钻研这些东西,目前正在往独立开发的方向上走,目前前后端的需求都能在做,如果有这方面需求的小伙伴可以一起探讨。
在这里插入图片描述

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

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

相关文章

Python潮流周刊#7:我讨厌用 asyncio

△点击上方“Python猫”关注 ,回复“1”领取电子书 你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题&#xff…

MySQL 数据库初体验

文章目录 数据库的基本概念数据表数据库数据库管理系统数据库系统 数据库的发展史当今主流数据库介绍SQL Server (微软公司产品)Oracle (甲骨文公司产品)DB2 (IBM公司产品)MySQL (甲骨文公司收购…

S7-200 PLC通信方式有哪些

更多关于西门子S7-200PLC内容请查看:西门子200系列PLC学习课程大纲(课程筹备中) S7-200 PLC通信按通信对象方式分为三种情况:A.与计算机通信;B.与其他PLC通信;C.与其他设备和仪器通信; A.S7-200 PLC与计算机通信 如下图1-1 S7-…

长度延展攻击【密码学】(三)

一、什么是长度延展 假设有两段数据,S和M,以及一个单向散列函数h。 如果我们要将两段数据合并起来,并且还要计算合并后的散列值,这就叫做单向散列函数的长度延展。 二、长度延展攻击 如果S和M都是公开信息,那么S在前还…

网络层:网际控制报文协议ICMP

网络层:网际控制报文协议ICMP 笔记来源: 湖科大教书匠:网际控制报文协议ICMP 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 主机或路由器使用ICMP来发送差错报告报文和询问报文 ICMP报文被封装在IP数据报中发送…

合宙Air724UG Cat.1模块硬件设计指南--I2C接口

I2C接口 简介 I2C总线(Inter-Integrated Circuit)是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 特性 支持 Fast mode (400Kbps)和 Slow mode&…

探索人工智能在自动化测试中的应用

自动化测试技术从最初的模拟硬件方式,到基于数据驱动,基于关键字驱动,再到现在基于功能和指令驱动的自动化测试技术,在各类软件项目中的应用也越来越多,越来越成熟。自动 背景 自动化测试技术从最初的模拟硬件方式&a…

MATLAB | 如何使用MATLAB获取顶刊《Nature》全部绘图(附带近3年全部图像)

我出了如何使用MATLAB获取期刊《Cell》全部绘图,立马就有粉丝问《Nature》、《Sience》、《PNAS》啥的会不会安排,这期就给大家安排《Nature》全部绘图获取,之后其他期刊也会慢慢安排,但是不会一次性全出完(毕竟不能抓住一个主题就…

【第三次】21级计科计算机组成原理课外练习

【第三次】21级计科计算机组成原理课外练习 一、单选题二、填空题三、程序填空题 一、单选题 2-1假设变量x的位数为n(n>8),x的最低有效字节不变,其余各位全变为0,则对应C语言表达式为。 A.x | ~ 0xFF B.x ^ 0xFF C…

css基础四:说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?

一、背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同…

循环码生成矩阵与监督 (校验) 矩阵

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 循环码生成多项式与…

详解七层反向代理与四层反向代理【Nginx+Tomcat负载均衡、动静分离】

文章目录 1. 反向代理和正向代理概述2.七层反向代理实例2.1 实验环境描述2.2 部署Nginx负载均衡器2.3 部署2台Tomcat应用服务器2.3.1 部署CentOS 7-5 Tomcat服务器2.3.2 部署CentOS 7-6 Tomcat多实例服务器 3.四层反向代理实例3.1 实验环境描述3.2 部署Nginx负载均衡器&#xf…

2023年护网常见面试题汇总!看过的都通过面试啦!

​时间过得很快,回想起去年的这个时候,我也正在准备秋招,今天的我刚刚结束培训。 我的个人情况就读于某双非大学,信息与计算科学(大数据方向,校企合作,一个介于数学与计算机之间的专业&#xf…

JVM调优参数+Visual GC 插件安装及使用,jvm分析

调优的目的是什么呢? 1.就是让系统更加的丝滑,让用户体验变得更好。 2.提升系统的性能,提高效率,充分利用jvm内存。 更多参考->JVM常用调优参数 一.JVM参数配置位置 1.java.lang.OutOfMemoryError: Java heap space 解决方…

微信小程序开发之获取用户头像昵称

本文是对另一篇文档 https://blog.csdn.net/duke_ding2/article/details/130674320 的补充。 环境 微信开发者工具 Stable 1.06.2306020调试基础库 2.32.2 背景 在较低版本(2.27.0及以下)的基础库中,在小程序里可以使用 wx.getUserProfil…

PostgreSQL BTree(B-Link-tree) 索引 基本 实现原理

文章目录 背景BTreeBTreeB-Link-Tree 基本数据结构的插入实现BTree Insert 实现BTree Insert 实现 PostgreSQL BTree实现整体结构BTree 索引创建实现_bt_buildadd_bt_uppershutdown BTree 查询 _bt_search 实现BTree 插入 _bt_doinsert 实现_bt_split 节点分裂_bt_insert_paren…

flyway在Windows下安装及基本使用

文章目录 1. flyway中的SQL脚本命名2. flyway执行SQL脚本演示3. flyway中设置 ${CURRENT_DATE} 为当前时间的值 Flyway是一个开源的数据库迁移工具,用于管理和自动化数据库架构的演进。它允许开发人员和团队对数据库进行版本控制,并通过简单的命令行或脚…

【数据库与身份认证】课程笔记

目标: 知道如何配置MySQL数据库环境认识并使用常见的SQL语句操作数据库在Express中操作MySQL数据库了解Session的实现原理了解JWT的实现原理 目录: 数据库的基本概念安装并配置MySQLMySQL的基本使用在Express中操作MySQL前后端的身份认证 一. 数据库的…

美团一面:OOM后,JVM一定会退出吗?为什么?

说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如美团、拼多多、极兔、有赞、希音的面试资格,遇到一几个很重要的面试题: OOM后,JVM一定会退出吗?为什么? 生产环境&am…

MIT 6.S081 (BOOK-RISCV-REV1)教材第四章内容 -- 上

MIT 6.S081 教材第四章内容 -- 上 引言陷阱指令和系统调用RISC-V陷入机制代码:调用系统调用从用户空间陷入系统调用参数补充 引言 MIT 6.S081 2020 操作系统 本文为MIT 6.S081课程第四章教材内容翻译加整理。 本课程前置知识主要涉及: C语言(建议阅读C程序语言设计…