本文作者:zhujue

aliddns动态解析IPV6远程访问openwrt及同网段设备

zhujue 2023-10-02 21:19:53 36 抢沙发
aliddns动态解析IPV6远程访问openwrt及同网段设备摘要: ...

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第1张

内网穿透 篇一:aliddns动态解析IPV6远程访问openwrt及同网段设备

2021-10-08 19:22:19 22点赞 147收藏 8评论

现在公网IPV4越来越难得到了,以前联通电信还能通过客服获取公网IPV4,现在打电话给客服要公网IPV4客服只会打太极。

好在现在IPV6已经大面积普及,加上IPV6数量足够。运营商分配的几乎都是公网IPV6。那我们就可以通过拥有IPV6的设备远程访问家里的设备了。

想要获取IPV6地址,光猫和路由器都开启ipv6功能。好在我在新装宽带的时候,IPV6已经完全在所在城市铺开,光猫默认开启ipv6功能。但是有部分路由器并未默认开启IPV6,需要自己手动设置。

比如我的主路由是华硕的,就需要在设置IPV6选项卡中的联机类型选为"Native"。稍后就可以获取IPV6地址了。

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第2张

为了家庭网络的稳定性,我是用硬路由完成拨号任务的。其他的服务由挂在主路由网段上的openwrt软路由系统负责,比如说负责穿透服务的openwrt。这样做的好处是,就算all in one服务器挂了,也不会导致家机断网只是会少一些功能而已。

这是我的家庭网络简易拓扑图,其中提供穿透服务openwrt是以二级路由的形式挂在一级网段上。我这么做是为了省去配置旁路由的麻烦事,反正上传带宽也就是30mbps。多一级NAT也不会怎么样。然后windows2019,win7-PT通过第二块虚拟网卡和openwrt穿透服务的lan口相连,因为SOCAT只支持同一网段的转发。

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第3张

首先我们需要在阿里云申请一个域名,一般第一年域名是很便宜的。申请好以后添加一个AAAA解析,并将openwrt wan6口上的ipv6地址填入解析中。之后就可以在ipv6环境下通过域名访问内网设备了。不过因为有防火墙的存在,外网还不能直接访问。所以需要在主路由开放端口。

我个人不建议关闭IPV6防火墙,虽然IPV6数量庞大。扫描是不可能的事,但是域名是有可能暴露的。

下来简单的说一下IPV6的防火墙怎么设置。比如这个IPv6地址,他一共有8段,用" : "隔开。

140e:2ac:3cde:4fab:50a:60ff:70fe:807d

前面4段“140e:2ac:3cde:4fab”是运营商分配的,会随时间变化,后面4段“ 50a:60ff:70fe:807d”是由主路由分配的,不会随时间变化。

然后写成这这种格式“ ::后面4段的地址/::ffff:ffff:ffff:ffff ”

比如上面的例子就变成这样“ ::50a:60ff:70fe:807d/::ffff:ffff:ffff:ffff ”。

把他填入防火墙的目的地址中,并设置好开放的端口。

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第4张

因为openwrt是以二级路由形式工作的,还要在openwrt的防火墙中开放相关的端口。

下一步,开解决ipv6动态解析的问题。因为Openwrt没有支持IPV6解析的aliddns插件。只能用SH脚本的方式自动解析IPV6到域名。

登录到阿里云控制台,在右上角头像处打开一个菜单选择Accesskey管理。之后会跳出一个选项,我们使用子用户。这样能指定子用户的权限保证安全。

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第5张

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第6张

进入子用户管理界面以后创建一个子用户,并把API调用访问选项勾上,然后确定。记录好accesskey ID和accesskey secret。当然也可以直接点击左上角下载包含他们的CSV文件。

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第7张

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第8张

下一步授予子用户管理云解析的权限

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第9张

下一步是修改aliddns.sh文件

在第一行的aliddnsipv6_ak填入你的accesskey ID,在第二行的aliddnsipv6_sk填入你的accesskey secret,第三行的aliddnsipv6_name1填入主机记录,第四行的aliddnsipv6_domain填入你的域名。

然后修改一下第二十行的网卡设置,登录到openwrt ssh。输入下面的命令

ifconfig

找出拥有公网IPV6地址的网卡,比如我的是eth1

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第10张

如果你的是eth0,那就把下面把第二十行的eth1改成eth0

ipv6s=`ip addr show eth1 改为 ipv6s=`ip addr show eth0

修改好后将aliddns.sh文件用winSCP上传到openwrt /usr/lib/ddns文件夹中,并设置0755权限。

cd到ddns目录,./aliddns.sh.看看是否运行成功,如果运行成功会输出本机的ipv6地址。并在稍后收到阿里云发来的域名解析变更邮件。

最后配置一下aliddns.sh的定时自动运行,在openwrt的计划任务中添加下面这条命令,提交后就完成配置。

*/10 * * * * /usr/lib/ddns/aliddns.sh

接下来配置socat ipv6 to ipv4转发,以此访问与openwrt lan口下的局域网主机。

首先输入下面命令安装socat

opkg update
opkg install socat

安装好以后在系统-启动项,下拉到最下面-本地启动脚本中 输入socat转发命令 并以exit 0结尾。

转发命令格式:

TCP转发 socat TCP6-LISTEN:IPV6端口,reuseaddr,forkTCP4:IPV4地址:IPV4端口 &

TCP转发 socat UDP6-LISTEN:IPV6端口,reuseaddr,forkUDP4:IPV4地址:IPV4端口 &

exit 0

比如我想通过IPV6的1125端口访问 192.168.1.1:80也就是openwrt的管理页面,IPV6的1122端口访问 192.168.1.1:22端口,IPV6的5201端口访问 192.168.1.246:5201端口,并同时设置UDP和TCP访问。那么命令就是下面这种格式。

socat TCP6-LISTEN:1125,reuseaddr,fork TCP4:192.168.1.1:80 &

socat UDP6-LISTEN:1125,reuseaddr,fork UDP4:192.168.1.1:80 &

socat TCP6-LISTEN:1122,reuseaddr,fork TCP4:192.168.1.1:22 &

socat UDP6-LISTEN:1122,reuseaddr,fork UDP4:192.168.1.1:22 &

socat TCP6-LISTEN:5201,reuseaddr,fork TCP4:192.168.1.246:5201 &

socat UDP6-LISTEN:5201,reuseaddr,fork UDP4:192.168.1.246:5201&

exit 0

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第11张

这里需要注意转发的IPV6端口,需要在防火墙中设置放行。一切弄好之后就可以通过域名:指定端口的方式访问内网资源了

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第12张

aliddns动态解析IPV6远程访问openwrt及同网段设备 华硕路由器 ipv6 动态解析 远程访问 第13张


文章投稿或转载声明

来源:geek玩物版权归原作者所有,转载请保留出处。本站文章发布于 2023-10-02 21:19:53
温馨提示:文章内容系作者个人观点,不代表天云博客对其观点赞同或支持。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,36人围观)参与讨论

还没有评论,来说两句吧...