找回密码
 加入我们
搜索
      
查看: 13463|回复: 22

[网络] 通过socat,使OpenWrt实现ipv6端口转发

[复制链接]
发表于 2023-2-17 21:19 | 显示全部楼层 |阅读模式
本帖最后由 忘忧GX 于 2023-2-22 15:07 编辑

  转自本人的博客,欢迎踩踏wangyougx.com:90/blog/index.php/archives/355

   先交代一下背景,就当前国内网络情况,离全局ipv6还有很长的路要走,但是ipv4资源却已油尽灯枯;很多设备都不支持ipv6,即使支持ipv6,路由器默认也是未开启状态,更恶心的是运营商宽带安装人员更是不懂ipv6,光猫默认就关闭了,好东西都堵在门外了------
你千辛万苦终于搞定了ipv6,然后全家设备也能获取到ipv6公网ip了,这时候你想在广域网通过域名访问家里的设备时,你会发现路由器不支持ipv6转发,这时候你杠:都有ipv6了,还转发什么,直接访问呀;那么问题来了,ipv6地址2天换一个,你搞个ddns来更新?假设有10个设备,你也搞10个域名来更新地址吗?显然不现实

  于是,你会想在路由器搞个ddns,让广域网直接通过ipv6能访问到你的路由器,然后通过网络转发路由器下的设备,来访问,一个域名访问全家,方便、简单。
而Openwrt默认是不支持ipv6转发的(最少官方的luci没这功能),不过既然有这需求,就有开发者去实现,这就是开源的好处
Socat开源项目地址:https://github.com/big-tooth/luci-app-socatg
研究发现,OpenWrt官方opkg packages源已经有对应的后端程序包了,只查一个前台luci跟汉化luci包

为了方便大家,把luci包放这里吧:socat安装文字教程.rar

附件内有简单的安装教程,是其他网友写的,不过还是有几个需要注意的地方:

安装之前,先执行opkg update更新一下opkg源
先安装luci-app-socat.ipk,这时候会自动下载并安装socat(否则会提示配置文件冲突)
安装完成,如果你的Openwrt ps命令不是busybox自带的话(升级过ps命令),需要修改一下/etc/init.d/socat的stop方法
  1. #将
  2. ps -w| grep "$CONFIG_PATH/" | grep -v "grep" | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 &
  3. #改成如下:
  4. ps -ef| grep "$CONFIG_PATH/" | grep -v "grep" | awk '{print $2}' | xargs kill -9 >/dev/null 2>&1 &
复制代码


使用也是很简单的,简单说一下场景:
你想访问你家里电脑的8090端口,路由器已经有ipv6+ddns+域名,电脑是接在路由器lan下,于是可以参考下图:

QQ截图20230217201806.png

如果电脑的ipv6地址变幻多端,建议在目标协议选择IPv4,这样目标地址就可以选择内网的电脑ipv4地址
然后广域网就能通过ipv6访问了;切记,经过了socat转发后就不要使用Openwrt防火墙里面的端口转发,避免端口冲突(可以通过netstat -anpl检查一下端口占用情况)
发表于 2023-2-17 21:55 | 显示全部楼层
本帖最后由 monkeylab 于 2023-2-17 22:00 编辑

理解差了,编辑掉。
 楼主| 发表于 2023-2-17 22:02 | 显示全部楼层
monkeylab 发表于 2023-2-17 21:55
理解差了,编辑掉。

发表于 2023-2-17 22:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2023-2-17 22:14 | 显示全部楼层

不好意思搞混了端口转发和在ipv6防火墙上开放内网端口。
 楼主| 发表于 2023-2-17 22:24 来自手机 | 显示全部楼层
我永远喜欢框框 发表于 2023-2-17 22:03
用了几年了 内网就用v4 方便记

我是今年才用ipv6,原来这早就不是新鲜事了……
发表于 2023-2-17 22:28 | 显示全部楼层
mark一下备用

发表于 2023-2-18 08:49 | 显示全部楼层
感谢,备用一下
发表于 2023-2-18 09:36 来自手机 | 显示全部楼层
“那么问题来了,ipv6地址2天换一个,你搞个ddns来更新?假设有10个设备,你也搞10个域名来更新地址吗?显然不现实”
是的 搞个ddns来更新就行了
而且挺简单的
 楼主| 发表于 2023-2-18 12:38 来自手机 | 显示全部楼层
lclancey 发表于 2023-2-18 09:36
“那么问题来了,ipv6地址2天换一个,你搞个ddns来更新?假设有10个设备,你也搞10个域名来更新地址吗?显 ...

设备多了不太方便,且监控ipv6地址变化也麻烦
发表于 2023-2-18 15:00 | 显示全部楼层
本帖最后由 moveable 于 2023-2-18 15:02 编辑

幸好我有V4公网ip
发表于 2023-2-18 15:23 来自手机 | 显示全部楼层
联通的一直想着折腾,只能电脑路由的无线网卡获取,手机就是不行
电信移动的都没问题,好像是下发多了一个pd模式
发表于 2023-2-19 00:42 来自手机 | 显示全部楼层
忘忧GX 发表于 2023-2-18 12:38
设备多了不太方便,且监控ipv6地址变化也麻烦

ipv6前缀变 后缀不变(Linux系全是固定 Windows也可以改固定 遵循EUI-64规范 唯独苹果是内部算法随机生成)
只需要在一台机器(比如路由器)的上面记好所有需要绑定的内网机器MAC地址 一旦ipv6前缀改变 用脚本批量改一次就行了
跟v4的ddns原理和难度上并没有什么区别
发表于 2023-2-19 01:01 来自手机 | 显示全部楼层
ddns用起来不矛盾的,二级域名是无限的。
发表于 2023-2-19 13:00 | 显示全部楼层
帮顶
还有个插件也很推荐,似乎更友好些
https://github.com/gdy666/lucky
发表于 2023-10-13 23:24 | 显示全部楼层
楼主您好!我的主路由是爱快,旁路由是OP,在旁路由OP里我按你的设置好了,但是显示状态是X。。。试了还是打不开,请问旁路是不是另有设置方式?
发表于 2023-10-13 23:25 | 显示全部楼层
1014982466 发表于 2023-2-19 13:00
帮顶
还有个插件也很推荐,似乎更友好些
https://github.com/gdy666/lucky

这外我也是在虚拟机的DOCKER里试了,也不行。。。
 楼主| 发表于 2023-10-13 23:39 来自手机 | 显示全部楼层
aaronlong 发表于 2023-10-13 23:24
楼主您好!我的主路由是爱快,旁路由是OP,在旁路由OP里我按你的设置好了,但是显示状态是X。。。试了还是 ...

进后台检查进程
发表于 2023-10-13 23:42 | 显示全部楼层
我自己的意思是 还没有主流的情况下 基本上不会转全IPV6
现在用着有公网 暂时够 简单的远程备份 访问够了
发表于 2023-10-13 23:47 | 显示全部楼层
用了几年了 方便 只要一个ddns就行
发表于 2023-10-14 00:09 | 显示全部楼层

重启OP状态不是X了,但还是连不上。。。
发表于 2023-10-14 01:10 来自手机 | 显示全部楼层
aaronlong 发表于 2023-10-14 00:09
重启OP状态不是X了,但还是连不上。。。

你的op是旁路,外网进来应该先访问你的ikuai了,你要先试下你的op的v6是否能外网访问到,如果能外网直接访问op你的转发才有效
发表于 2023-10-14 01:21 | 显示全部楼层
aaronlong 发表于 2023-10-14 00:09
重启OP状态不是X了,但还是连不上。。。

防火墙要开放外网访问,可以百度下具体方法
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-12-27 10:32 , Processed in 0.014749 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表