我的网络我做主 篇二:IPv6公网也能端口转发了(SocatG全网首发)

2022-03-10 14:20:32 65点赞 293收藏 84评论

声明

其他作者在写文章时涉及到luci-app-socatg或者SocatG,须提前声明本篇文章。

前言

在移动大内网的各位小伙伴们,为了实现远程访问,可谓是想尽了一切办法,本人先后使用了ngrok、frp、ddnsto,都是满满的吐槽啊!!!ngrok和frp需要一个独立的ip主机作为服务端,国内还需要对域名进行备案,总结下来:流程复杂、准备时期长、不够灵活、受服务端带宽限制(“小水管“);ddnsto相对前两者来说,确实是便捷不少,但是仍然有最高5M带宽的限制。

如今IPv4地址池耗尽,IPv6开始向人们走来,目前看来运营商对IPv6几乎没有做仍何限制,包括Http 80端口和Https 443端口均可以正常使用,当然了对于大多数用户来说IPv6也并不是静态不变的,在一定时候其地址会发生变化,好在目前阿里云、dnspod、dynv6都支持解析动态IPv6。这在OpenWrt/Lede下不难实现,具体的教程也站内也都有,便不再啰嗦。

消息发送(无需动态解析)

每个IPv6地址都是独立的地址,只要支持IPv6地址的设备都可以访问到的,但是因为目前的IPv6大多数都是动态的,即在一段时间会自动更新,这样的话,可以通过脚本运行的方式,定期扫描在局域网内活跃的IPv6设备或者当IPv6地址发生更改后的,发送内容至预先设置好的邮箱或者其他消息服务器

DDNS脚本大法

在每个设备编写相应的DDNS脚本,对其进行DDNS解析,好处是,不会AIB(All in Boom),每台设备都是独立的,不会相互影响。但是问题来了,如果需要修改脚本,你必须在局域网下修改(不难想象),而且对每台设备都进行脚本设置,工程量太大,不利于整体部署,鸡肋。

端口转发

但是对于路由器之下的其他需要被访问的设备来说,你一定会想到端口转发

常规的端口转发常规的端口转发

那么成功了吗?并没有,注意看上图,OpenWrt端口转发的IP地址(默认)类型是IPv4,这显然是行不通的。

Frp

已知OpenWrt路由器已经做到了DDNS,那么是否可以在路由器上开启Frps服务端呢?理论可行,但是笔者经过一晚上的实践,已经对Frp失去了信心,而且还需要在对应的客户端上进行部署;不光如此,Frp的性能也非常低下,常常因为在高并或者其他占用突然增大的情况下,会将Frp进程关闭,所以,Frp只有在迫不得已的情况下作为临时使用,应用场景非常有限。

Socat

开始进入主题了,socat可以把局域网下设备(如Nas、监控摄像头、网络服务器)的IPv4地址的端口转发到路由器的IPv6地址上,以此来远程访问局域网下的设备。Socat是不需要在客户端部署环境的,全程只要在路由器上监听对应IPv4地址的指定端口即可,不会对应用层(OSI模型的第7层)上的设备进行干预,整体的网络环境也会相较Frp简洁许多,而且Frp暴露在公网下是非常不安全的。

socat命令的格式如下:

socat TCP6-LISTEN:{IPv6端口,远程访问的端口},reuseaddr,fork TCP4:{IPv4地址}:{IPv4端口} &

系统->启动项->本地启动脚本系统->启动项->本地启动脚本

我用Idea搭建了spring的临时环境(当然vscode下live share插件亦是如此),测试端口转发,IP地址:192.168.1.226 端口号:8083

成功将端口转发成功将端口转发

如果局域网内有大量设备的话,这样也太麻烦了吧IPv6公网也能端口转发了(SocatG全网首发) ,重头戏登场了,SocatG:

SocatG

作为不喜欢敲代码的我,看到这么长的命令,瞬间没了兴趣,于是我开发了一个OpenWrt插件SocatG,顾名思义,socat的GUI(可视化)版本,界面十分简洁明了,

软件的主体界面软件的主体界面

安装:由于是首发,目前仍处于官方审核阶段,只能通过在ssh或者telnet上以预编译文件ipk的方式安装,当然也可以直接通过编译固件来安装,ipk文件已在文末给出,软件支持所有架构

opkg update

opkg install socat

wget -P /tmp {插件地址,见文末}

opkg install /tmp/luci-app-socatg_1.1-1_all.ipk

注意:使用(固件编译)前需要提前安装(加入)socat

入口:网络->SocatG

简单的页面告诉你,你只要依次填入IPv6的端口(远程访问时的端口,v6port)、IPv4地址(局域网内的设备,v4host)、IPv4地址的端口(该设备对应进程的端口号),v6port和v4port的端口号不可以相同,点击“保存&应用”按钮就可,这时你就可以直接通过域名+端口号访问。至于解析效果和稳定性,那肯定是阿里云和dnspod的好,dynv6由于是免费的,可以理解IPv6公网也能端口转发了(SocatG全网首发)

应用

有了公网“IP”,瞬间为你打开了新的世界,从现在开始,起飞IPv6公网也能端口转发了(SocatG全网首发)

阿里云盘、NAS、监控摄像头,还有许多,需要你们去发掘

总结

SocatG是开源的项目,目前已有开发目标,会持续更新迭代,如果在使用的时候遇到了问题或者有更好的建议,希望可大家可以在评论区回复,各位有能力的大佬们也可以直接做改进,大家都一起维护这个实用的插件吧。

最后求点赞投币收藏转发IPv6公网也能端口转发了(SocatG全网首发)

关于文中提到的项目源代码和预编译ipk文件的链接:Gitee/码云

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

249元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

308元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

177元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

185元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

Microsoft 微软 办公软件 优惠商品

Microsoft 微软 办公软件 优惠商品

239元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

239元起

Microsoft 微软 office365家庭版15个月 203元

Microsoft 微软 office365家庭版15个月 203元

198元起
84评论

  • 精彩
  • 最新
  • 内网穿透这东西,没有的时候拼命想要,有了发现一年用不了几次。。。

    校验提示文案

    提交
    有时候还是很重要的,监控、emby、文件资料呀,用frp带宽实在有限

    校验提示文案

    提交
    身在外企,每天用3389转发用家里电脑办公,已经离不开了。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 多个ip和端口的话如何填进去呢

    校验提示文案

    提交
    现在只能刷新再填新的内容

    校验提示文案

    提交
    那旧的会保留在页面吗

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 掉头发大神,牛pppppp! [献黄瓜] [献花] 。花小钱保ipv4公网的默默的支持一下!之前的几家公司,单位内网全是纯ipv4内网地址,没有v6,所以路由的ipv6都连不上。

    校验提示文案

    提交
    对啊,教育网内也都是IPv4

    校验提示文案

    提交
    收起所有回复
  • Gitee的代码是被删了吗?最后在GitHub上找到的

    校验提示文案

    提交
    优先会在GitHub上更新,gitee会同步推送的

    校验提示文案

    提交
    刚刚看过,gitee上没有被删掉呀,

    校验提示文案

    提交
    收起所有回复
  • openwrt做旁路由能用吗

    校验提示文案

    提交
    只要在同一个网段都是可以的,而且主路由要开通ipv6

    校验提示文案

    提交
    好的,谢谢,回去试下,还有个问题ipv6那个端口需要映射出去吗

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 参考我之前写的博客 去看看

    校验提示文案

    提交
    我也看到过有web可视化版本的socat,但是都没有一个开源的,都是已经集成在固件里了,只能自己开发 [高兴]

    校验提示文案

    提交
    收起所有回复
  • 感谢大佬,一直在用socat,都是命令行配置,希望大佬持续更新哈

    校验提示文案

    提交
    已经在做了 [ok了]

    校验提示文案

    提交
    收起所有回复
  • 移动内网福音。大众无公网的福利。谢谢楼主分享

    校验提示文案

    提交
    开源精神,国内也要发扬

    校验提示文案

    提交
    收起所有回复
  • 太实用了,我也想用

    校验提示文案

    提交
    移动大内网的福音 [小眼睛]

    校验提示文案

    提交
    收起所有回复
  • gitee无法访问啊,提示403
    你的访问受限!
    服务器拒绝处理您的请求!您可能没有访问此操作的权限, 点击这里返回首页

    也可能是以下原因导致您没有权限

    1. 没有登录,请登录后查看

    2. 资源属于企业,企业用户应安全策略被企业屏蔽,请联系企业管理员

    3. 项目因违规被 Gitee 屏蔽,请联系项目拥有者查看项目是否被屏蔽

    校验提示文案

    提交
    您可以再尝试访问一下

    校验提示文案

    提交
    收起所有回复
  • IPv4访问ipv6,有解决方案吗?
    例如,从单位的IPv4环境,访问家里的ipv6(中移动公网)

    校验提示文案

    提交
    通常来说,只有ipv6才可以直接访问ipv6,如果要实现v4访问v6,那么这两者之间需要服务器进行中转,这和frp是没有差别的。当然也可以向单位的网络中心申请开通ipv6

    校验提示文案

    提交
    收起所有回复
  • 不明觉厉!!大佬太厉害了

    校验提示文案

    提交
    小言姐姐你也是

    校验提示文案

    提交
    收起所有回复
  • 不错,学习了,写的很详细呀,辛苦了

    校验提示文案

    提交
    在学习中成长,应该的

    校验提示文案

    提交
    收起所有回复
  • 先收藏再慢慢看 [傻笑] [赞]

    校验提示文案

    提交
    适合移动内网或者没有公网使用 [小眼睛]

    校验提示文案

    提交
    收起所有回复
  • 大佬能出个详细的小白教程吗

    校验提示文案

    提交
    这个就是啊

    校验提示文案

    提交
    收起所有回复
  • FRP不要域名又不是不能用

    校验提示文案

    提交
    这只针对那些固定的IP地址,你指的应该是那些云服务器的IP地址,截止到今天,固定的IP地址池已经耗尽,目前所谓的大多数公网IP都指的是动态公网,即在一定时间过后,其IP地址会发生改变,对于拥有(动态/固定)IPv4地址的用户来说,尚且能够勉强接受的,毕竟32位的地址还是很好记的,但是对于绝大大多数移动大内网用户来说,这几乎不可能,因为ipv6太长了,而且现在有一些浏览器仍然是不支持直接通过ipv6地址来访问的,因此拥有域名,这会使得非常方便。

    校验提示文案

    提交
    那国内哪里能买到便宜带宽大的机器呢 [想一想]

    校验提示文案

    提交
    收起所有回复
  • 我已经完成光猫桥接,并且nas获取了ipv6地址。但是路由器的防火墙禁止了外网访问nas。路由器是tplink,这种情况你这个方法是不是能解决问题?

    校验提示文案

    提交
    socatg就是的期望就是讲冗长的IPv6地址通过端口转发的方式进行远程访问,使用socatg的前提就是需要能够通过原始的IPv6地址进行访问,否则也只能在内网下使用

    校验提示文案

    提交
    也就是说哪怕我获取了ipv6地址,还是无法突破我tp路由器的防火墙实现内网穿透?

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 内网这么玩很厉害😄

    校验提示文案

    提交
    走投无路了,只能自己开发 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • 如果是ipv6地址直连的话,开3389端口倒是还好,要是ipv4开3389天天被扫 [尴尬]

    校验提示文案

    提交
    IPv6好,3389端口太危险了

    校验提示文案

    提交
    能改当然是最好了 [认真听讲]

    校验提示文案

    提交
    收起所有回复
  • 用了您编译的插件觉得很好,请问在下一版本可否加上像Socat一样已经做了端口转发的列表。可以清晰的看到哪些端口已经做了转发。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
293
扫一下,分享更方便,购买更轻松