我的软路由折腾之旅 篇四:Openwrt by Lean搞定花生壳+3322 DDNS,洗白黑群晖远程/定时唤醒
创作立场声明:软路由折腾的系列快写完了,复工之后工作忙起来,更新的速度也变慢了。网上写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地址的识别,不参与数据传输和转发,所以并不会影响传输速度,理论上也不会存在安全问题。
不知道自己有没有公网IP的朋友可以在百度搜索引擎中搜索“IP”,如果你查询到的IP地址和你路由器WAN口获取的IP地址一致,就是有公网IP,如果不是,比如10.58开头这样的IP,一般都是内网IP,需要和自己的宽带运营商沟通让运营商分配一个公网IP给你。本教程中的花生壳和3322的DDNS基于公网IP使用环境,内网环境不适用。
Openwrt中DDNS的设置方法
介绍一下3322和花生壳域名的申请方法,官网地址分别是:
不管是花生壳还是3322,都有免费版可以注册,并不难。主要讲在openwrt中设置的方法:
1. luci-ddns-app套件
如果在编译固件的过程中安装了ddns套件可以使用该套件来连接ddns,进入该界面后默认能够看到ddns ipv4以及ddns ipv6的模板。但是这里我选择新建,先以3322为例,在命名这里随便起个名字,例如3322。点添加,这时候看到设置页面,里面已经有很多DDNS服务商可以选,第一个就是3322。
这里有我已经添加好的3322和oray的域名,这里只演示添加过程。
设置好以后勾选上方的启动,点击保存并应用。设置生效后会退到概况界面,看到该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的系统文件中,降低编辑文件的门槛。
我是在目录/usr/share下创建一个文件夹scritps,该文件夹用来创建计划任务,让openwrt系统定时执行该命令。例如每隔5分钟获取一次DDNS,我目前用该方法让花生壳稳定的获取了DDNS。
这里示例下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的网络——防火墙——转发设置页面里,
页面中端口转发名称自己起,外部端口选择WAN,内部选LAN,内网主机选需要转发的主机,比如DSM。
端口根据自己的需要填。比如群辉访问端口是5000,Cloudstation端口是6690,外部端口需要注意避开80和8080端口。
Openwrt通过WOL唤醒洗白过的黑群
Openwrt系统的服务工具中有一个WOL网络唤醒的功能十分好用,在网页中可以方便的选择自己的内网主机进行唤醒。但是洗白过的黑群有一点特殊,引导文件的MAC地址修改成了00:11:32开头的MAC地址,所以在内网中显示的修改后的MAC地址实际上是无法作为唤醒地址来用的。这样为定时唤醒带来了不便,首先要查到自己计算机的MAC地址,我的办法比较笨,把引导文件改成初始状态后开机后查询,并记下这个地址。我的主机的网卡真实的MAC地址为74:27:EA:46:6A:B7。大家也可以尝试其他办法,大家可以拍照或者记下自己网卡的MAC地址。
然后在群晖系统的控制面板中打开网卡的唤醒功能。
我在openwrt中添加了CLI工具,可以在网页界面中执行一些简单的命令,比如远程进入openwrt来唤醒黑群晖。在系统——自定义命令中找到配置选项卡。
我给命令起名为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"
30 7 * * * /usr/share/scripts/wol.sh >>/tmp/wol.log 2>&1
点击提交,保存生效后完成设置。
结语
OpenWrt是一个非常强大的软路由系统,有很强的开放性和可塑性。通过定时任务和自定义命令能够实现许多自动化的操作,简化我们的操作。下一期来讲在openwrt中挂载群晖的文件夹,并且使用docker中的jellyfin转码的方法。敬请关注!
snaketian
校验提示文案
非著名坐家
校验提示文案
问题不大吧
校验提示文案
朱冰青
校验提示文案
POKO哑虎呸呸
校验提示文案
爱吃兔兔的萝卜
校验提示文案
炒鸡炒螺食什么都补胃
校验提示文案
gzdenny
校验提示文案
端木先生R
校验提示文案
雅典猛男
校验提示文案
carlyang1986
校验提示文案
波粒二象性
校验提示文案
适合自己的才是值得的
无公网IP网络是大多,动态域名行不通,得上内网穿透方法;即内网映射外网,类似有花生壳、nat123、3322、ngrok、frp等。
校验提示文案
雅典猛男
校验提示文案
适合自己的才是值得的
无公网IP网络是大多,动态域名行不通,得上内网穿透方法;即内网映射外网,类似有花生壳、nat123、3322、ngrok、frp等。
校验提示文案
端木先生R
校验提示文案
波粒二象性
校验提示文案
gzdenny
校验提示文案
炒鸡炒螺食什么都补胃
校验提示文案
爱吃兔兔的萝卜
校验提示文案
POKO哑虎呸呸
校验提示文案
朱冰青
校验提示文案
非著名坐家
校验提示文案
问题不大吧
校验提示文案
snaketian
校验提示文案
carlyang1986
校验提示文案