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

2021-10-08 19:22:19 25点赞 157收藏 12评论

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

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

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

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

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

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

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

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

首先我们需要在阿里云申请一个域名,一般第一年域名是很便宜的。申请好以后添加一个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及同网段设备

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

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

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

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

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

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

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

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

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

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

下一步是修改aliddns.sh文件

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

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

ifconfig

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

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

如果你的是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端口,需要在防火墙中设置放行。一切弄好之后就可以通过域名:指定端口的方式访问内网资源了

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

展开 收起
12评论

  • 精彩
  • 最新
  • 因为是小白还在学习,我想请教一下……填入“::50a:60ff:70fe:807d/::ffff:ffff:ffff:ffff以及端口”这一步,是否可以理解成,路由器本身的防火墙并未关闭,但是只是让对应的这个网络设备(Nas等)可以访问外网,从而不是单纯的一刀切(不顾安全,完全开放防火墙)?

    校验提示文案

    提交
    是的没关闭,这是一条防火墙规则。这个是目标地址

    校验提示文案

    提交
    再请教一下,如果防火墙这边只有一个华硕的路由器,设置这个防火墙规则,如何再避免ipv6地址泄露?(我看到说,使用bt下载等都会泄露真实ip地址,)

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 最后一步放行对应防火墙,放行的是ipv4还是ipv6,具体怎么操作,作者可以照顾一下小白补充一下吗 [皱眉] [皱眉]

    校验提示文案

    提交
    用ipv6就放行ipv6

    校验提示文案

    提交
    收起所有回复
  • 好像ipv6 对奈飞不友好? 导致不能看

    校验提示文案

    提交
  • 您的这篇文章对我帮助非常大,完全契合我的应用需要,非常感谢

    校验提示文案

    提交
  • 这么好的文章却没多少人关注,顶一个。

    校验提示文案

    提交
  • socat转发ipv6到内网设备和直连内网设备速度差别大吗,大佬。我每次都好看路由表找地址,再直连,心累,动态域名解析又不能解析到路由下面的每个设备,每个设备都要布置一个动态域名解析,群晖好搞,window必须进入系统之后,不方便连接,感觉还是socat最好,效率高吗

    校验提示文案

    提交
  • 不愧是大佬,等下我去试试,不过我的是旁路由op。不知道能不能成功。防火墙设置这块的话我也不是很在行。

    校验提示文案

    提交
  • 终于找到华硕ipv6防火墙设置了,以前用的固定ipv6接口开放结果最近终于改了前64位,把映射炸了 [喜极而泣] 阿里云那边倒是设置好了,可惜防火墙之前动态设置失败,搞的固定ip

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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