Openwrt by Lean搞定花生壳+3322 DDNS,洗白黑群晖远程/定时唤醒

2020-07-15 13:16:15 40点赞 409收藏 34评论

创作立场声明:软路由折腾的系列快写完了,复工之后工作忙起来,更新的速度也变慢了。网上写openwrt的DDNS的设置教程比较少,这里补充一篇算是填坑。此外黑群晖洗白后MAC地址变化也无法用系统自带的唤醒功能唤醒,本文解决这两件事,希望可以帮到大家。

大家好,这一篇说一下我所用的lean大编译版本的openwrt实现ddns的过程,在上次的编译过程中我选了使用luci-DDNS的套件,所以在服务中有这个DDNS的套件可以在网页中直观的使用,自带的这个工具包括了许多常用的DDNS服务商,包括3322和花生壳。我测试3322能够保证稳定运行,但是花生壳就没这么好运,经常有连不上的情况。经过一段时间的摸索我找到了在openwrt下面比较稳定的能够让3322和花生壳同时使用的方法,这样做的好处是“东方不亮西方亮”,正常情况下除非是断网,不太可能出现花生壳和3322都不能用的情况。另外,黑群晖洗白后,由于网卡MAC地址变化,无法使用自带的网络唤醒功能去唤醒。所以本期也安排了远程/定时唤醒内网黑群辉的方法。

为了方便大家理解,先说一下DDNS的作用,如果你的宽带运营商能够给你分配外网的ip地址,可以通过外网通过路由器上设置的端口转发,通过运营商分配给你的外网IP地址访问到家里的内网设备比如群晖。但是,外网IP不是固定不变的,运营商一般都会设置48小时或者72小时变更一次,或者当路由器重启重新拨号后也会改变。远程访问的使用环境通常无法登陆家中的路由器查看外网IP地址,总不能每次都给家里打电话让帮忙看一眼,实在太麻烦了,于是就有了DDNS动态域名这种方式。动态域名顾名思义,首先要有一个域名,这个域名可以理解为给你的路由器的WAN口起个域名,类似一个网站地址。路由器设置好域名以后实际上就是连上域名服务商的服务器把自己目前WAN口的实际IP地址告诉DDNS服务商,你注册的这个域名就和WAN的IP地址关联起来了,这样当你访问域名的时候实际上相当于连接上WAN口的IP地址,由于路由器的DDNS服务是定时更新的,所以一般情况下不会出现断线的情况。此外,DDNS域名的服务商在这个过程中仅作为IP地址的识别,不参与数据传输和转发,所以并不会影响传输速度,理论上也不会存在安全问题。

Openwrt by Lean搞定花生壳+3322 DDNS,洗白黑群晖远程/定时唤醒

不知道自己有没有公网IP的朋友可以在百度搜索引擎中搜索“IP”,如果你查询到的IP地址和你路由器WAN口获取的IP地址一致,就是有公网IP,如果不是,比如10.58开头这样的IP,一般都是内网IP,需要和自己的宽带运营商沟通让运营商分配一个公网IP给你。本教程中的花生壳和3322的DDNS基于公网IP使用环境,内网环境不适用。

Openwrt by Lean搞定花生壳+3322 DDNS,洗白黑群晖远程/定时唤醒

Openwrt中DDNS的设置方法

介绍一下3322和花生壳域名的申请方法,官网地址分别是:

花生壳:

3322:

花生壳花生壳

33223322

不管是花生壳还是3322,都有免费版可以注册,并不难。主要讲在openwrt中设置的方法:

1. luci-ddns-app套件

如果在编译固件的过程中安装了ddns套件可以使用该套件来连接ddns,进入该界面后默认能够看到ddns ipv4以及ddns ipv6的模板。但是这里我选择新建,先以3322为例,在命名这里随便起个名字,例如3322。点添加,这时候看到设置页面,里面已经有很多DDNS服务商可以选,第一个就是3322。

这里有我已经添加好的3322和oray的域名,这里只演示添加过程。这里有我已经添加好的3322和oray的域名,这里只演示添加过程。

DDNS服务提供商ipv4选择3322.orgDDNS服务提供商ipv4选择3322.org

点击更改提供者点击更改提供者

如图填写好域名,用户名,密码如图填写好域名,用户名,密码

设置好以后勾选上方的启动,点击保存并应用。设置生效后会退到概况界面,看到该DDNS的运行状态。

红框处能够获取信息说明DDNS设置成功,否则请检查自己的设置信息是否有误红框处能够获取信息说明DDNS设置成功,否则请检查自己的设置信息是否有误

同理,也可以设置花生壳的DDNS,我们继续创建名字为oray,服务提供商选择oray.com,域名,用户名密码这些和3322的设置方法一样,这里不再重复。

2. 通过计划任务和脚本使用动态域名

我使用lean大的openwrt中的这个DDNS套件发现,花生壳域名并不是很稳定,经常有连接不上的情况。所以就把之前玩k2p梅林固件时候的DDNS脚本拿过来分享给大家。这个脚本的作用是连接到运营商服务器,告知自己注册的域名WAN口的IP地址,这种方法更直接。在计划任务中可以设置成五分钟更新一次,基本上不会出现短线的情况。

先分享下代码

#!/bin/sh

wget -q -O - 'http://用户名:密码@ddns.oray.com:80/ph/update?hostname=花生壳域名'

wget -q -O - 'http://用户名:密码@members.3322.org/dyndns/update?hostname=3322域名'

为了降低大家的操作门槛,推荐使用winscp工具编辑代码。

打开winscp,

利用winscp软件登陆到openwrt的系统文件中,降低编辑文件的门槛。利用winscp软件登陆到openwrt的系统文件中,降低编辑文件的门槛。

我是在目录/usr/share下创建一个文件夹scritps,该文件夹用来创建计划任务,让openwrt系统定时执行该命令。例如每隔5分钟获取一次DDNS,我目前用该方法让花生壳稳定的获取了DDNS。

根目录找到usr根目录找到usr

进入share进入share

在share目录中创建一个新目录scripts在share目录中创建一个新目录scripts

scripts目录下创建文件oray.shscripts目录下创建文件oray.sh

双击使用默认的编辑器打开,编码这里选择UTF-8双击使用默认的编辑器打开,编码这里选择UTF-8

这里示例下oray的ddns的写法,利用的是wget语句让域名获取wan口的ip地址这里示例下oray的ddns的写法,利用的是wget语句让域名获取wan口的ip地址

花生壳DDNS,命令行获取的写法。

#!/bin/sh

wget -q -O - 'http://用户名:密码@ddns.oray.com:80/ph/update?hostname=申请的域名地址'

3322 DDNS,命令行获取的写法

#!/bin/sh

wget -q -O - 'http://用户名:密码@members.3322.org/dyndns/update?hostname=申请的域名地址'

我目前在ddns套件中使用3322很稳定,就没有使用命令行获取的方法,有需要的朋友可以自行设置。

然后在系统的计划任务中添加该命令

在计划任务空白处添加以下代码在计划任务空白处添加以下代码

*/5 * * * * /usr/share/scripts/oray.sh >>/tmp/oray.log 2>&1

这里*/5的意思是每5分钟执行一次。然后点击提交,这时候刷新下网页或者重启路由器验证是否计划任务已经保存。稍等片刻oray的ddns应该能连接并且使用了。

3. OpenWrt端口转发设置

不熟悉OpenWrt系统的朋友刚开始一下子可能找不到端口转发的设置页面,在OpenWrt的网络——防火墙——转发设置页面里,

OpenWrt系统的端口转发功能在防火墙转发设置里OpenWrt系统的端口转发功能在防火墙转发设置里

这是我设置的端口转发这是我设置的端口转发

页面中端口转发名称自己起,外部端口选择WAN,内部选LAN,内网主机选需要转发的主机,比如DSM。页面中端口转发名称自己起,外部端口选择WAN,内部选LAN,内网主机选需要转发的主机,比如DSM。

端口根据自己的需要填。比如群辉访问端口是5000,Cloudstation端口是6690,外部端口需要注意避开80和8080端口。端口根据自己的需要填。比如群辉访问端口是5000,Cloudstation端口是6690,外部端口需要注意避开80和8080端口。

Openwrt通过WOL唤醒洗白过的黑群

Openwrt系统的服务工具中有一个WOL网络唤醒的功能十分好用,在网页中可以方便的选择自己的内网主机进行唤醒。但是洗白过的黑群有一点特殊,引导文件的MAC地址修改成了00:11:32开头的MAC地址,所以在内网中显示的修改后的MAC地址实际上是无法作为唤醒地址来用的。这样为定时唤醒带来了不便,首先要查到自己计算机的MAC地址,我的办法比较笨,把引导文件改成初始状态后开机后查询,并记下这个地址。我的主机的网卡真实的MAC地址为74:27:EA:46:6A:B7。大家也可以尝试其他办法,大家可以拍照或者记下自己网卡的MAC地址。

然后在群晖系统的控制面板中打开网卡的唤醒功能。

控制面板,硬件和电源。控制面板,硬件和电源。

打开局域网1的局域网唤醒功能。打开局域网1的局域网唤醒功能。

我在openwrt中添加了CLI工具,可以在网页界面中执行一些简单的命令,比如远程进入openwrt来唤醒黑群晖。在系统——自定义命令中找到配置选项卡。

Openwrt by Lean搞定花生壳+3322 DDNS,洗白黑群晖远程/定时唤醒

我给命令起名为DSM开机,openwrt系统唤醒网卡的命令为:

/usr/bin/etherwake -D "74:27:EA:46:6A:B7"

大家根据自己的MAC地址修改,保存,其他选项保持默认配置不需要修改。

这里点运行应该就没问题了这里点运行应该就没问题了

接下来在计划任务中设置开机启动

首先,还是需要利用winscp软件在/usr/share/scritps中创建wol.sh文件。利用默认编辑工具打开文件,编码设置为UTF-8,把开机命令粘贴进去,保存即可。

/usr/bin/etherwake -D "74:27:EA:46:6A:B7"

计划任务中设置成每天上午7.30分开机计划任务中设置成每天上午7.30分开机

30 7 * * * /usr/share/scripts/wol.sh >>/tmp/wol.log 2>&1

点击提交,保存生效后完成设置。

结语

OpenWrt是一个非常强大的软路由系统,有很强的开放性和可塑性。通过定时任务和自定义命令能够实现许多自动化的操作,简化我们的操作。下一期来讲在openwrt中挂载群晖的文件夹,并且使用docker中的jellyfin转码的方法。敬请关注!

展开 收起
34评论

  • 精彩
  • 最新
  • 正是我需要的,希望楼主早点出下一篇。让我抄作业 [脸红] [脸红] [脸红]

    校验提示文案

    提交
    可以,谢谢支持 [得意]

    校验提示文案

    提交
    收起所有回复
  • lede是不是更方便搞这些?梅林这些都自带不用敲命令 ddnsto也很好用

    校验提示文案

    提交
    我为了要核芯显卡转码和网卡驱动没办法用lede,普通机器用lede就行。

    校验提示文案

    提交
    收起所有回复
  • 平凡开关机不仅保护不了硬盘还会对硬盘造成损伤。

    校验提示文案

    提交
    不是为了保护硬盘,是因为NAS硬盘噪音比较大,晚上开门吵睡不着家里人有意见,日立硬盘炒黄豆的声音了解下。

    校验提示文案

    提交
    收起所有回复
  • 我的装的是双系统,win7装在32g的ssd上,黑裙装在机械硬盘上,但关机后怎么也唤不醒电脑,试了windows下的唤醒软件,梅林里的唤醒功能,BIOS里的wol功能也打开了,就是不行,主板是集成了赛扬1037u的那种ITX主板

    校验提示文案

    提交
    路由器里看看MAC是不是变了,如果软洗白的话MAC可能改了,你试试wol这个00:11:32开头这个,可能有奇效。原理我也不清楚,我把这两个MAC都放进wol.sh了。

    校验提示文案

    提交
    收起所有回复
  • 没看懂,群晖不是可以用3322的ddns吗?

    校验提示文案

    提交
    哑虎前辈好,看到你的评论我立刻去自己的群晖上试了下。我目前的黑群版本是DSM 6.2-23739这个版本的外部访问DDNS设置里没有3322,但是有花生壳。于是我就用花生壳做了实验,实验环境是外部拨号由路由器完成,群晖被分配到的是路由器下面的192.168.1.x的地址,实验前关闭了路由器上的花生壳域名,测试通过域名:5000无法访问到群晖。我在群晖ddns设置中设置了花生壳域名,用户,密码后群晖顺利登陆花生壳并给出外部ip地址,通过地址:5000的情况下可以正常访问到群晖,但是花生壳域名不行。我理解可能是群晖是把自己的内网IP给了花生壳服务器造成解析失败,所以如果需要用群晖的DDNS还是应该使用群晖拨号的方式让群晖直接过去外网的ip地址。路由器上获取DDNS的好处,我想应该可以解释清楚了。路由器上可以通过端口转发从外部网络访问路由器下的设备,毕竟如果拉网线只给群晖一个设备用还是有点奢侈了。如果我有解释不正确的地方还请前辈指正,目前我的测试结果是这样,后续如果有新的发现我会写到追加里。

    校验提示文案

    提交
    哈哈,不敢当。我的意思是,如果没有访问上游路由器的需求,可以直接群晖DDNS,然后做好端口映射,就可以外网http访问了。这个我用了几年。后来需要https才申请域名了。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 从爱快转到OpenWrt的,不得不吐槽一句,OpenWrt的动态dns不是一般难用,比起爱快设置之后秒响应来讲,OpenWrt的动态dns设置麻烦不说,响应也是非常考验耐心。

    校验提示文案

    提交
    3322还行,花生壳还是命令行管用,要是lede的能移植过来也能挺好。

    校验提示文案

    提交
    收起所有回复
  • 我们这给外网IP也没用,,就算是固定IP也没用。。端口给封了

    校验提示文案

    提交
    端口可以内外不一样,比如外网8088内网80

    校验提示文案

    提交
    全封。。。连公司的专线都封了。排查半天打电话问电信问,客服打死不承认,后来找大客户经理去查才承认是封了

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 有营养 [棒棒哒] ,mark

    校验提示文案

    提交
    感谢评论,盼继续支持。

    校验提示文案

    提交
    收起所有回复
  • 请问楼主这个花生壳的代码改动适用于其他openwrt么,?我是红米2100。之所以这么问是因为我之前用水星D191很稳,小米官方固件也是很稳,反倒刷完openwrt这个花生壳老出问题。最烦人的是我用transdroid添加个种子链接的时候老提示我链接出错,我都想刷回官方固件了。

    校验提示文案

    提交
    可以的,通用。

    校验提示文案

    提交
    我有时候想是不是花钱买个十年那种域名是不是比这种.biz要好一些。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 日志里显示无法找到文件,是不是需要设置权限啊

    校验提示文案

    提交
  • 你看成啥了?? [无语]

    校验提示文案

    提交
  • 楼主op的vpn要怎么配置能说下么

    校验提示文案

    提交
    大多网络都禁止虚拟局域网协议了,可以尝试更换其他应用方案,如文件共享什么的。内网穿透,即无需公网IP的内网映射外网,类似如花生壳、nat123、ngrok、等

    校验提示文案

    提交
    收起所有回复
  • 有公网IP还是不错的,本地可以自由发挥空间大大的。
    无公网IP网络是大多,动态域名行不通,得上内网穿透方法;即内网映射外网,类似有花生壳、nat123、3322、ngrok、frp等。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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