镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
最近入手了一个群晖nas,记录下设置公网访问的过程。
NAS:群晖NAS220+
路由器:小米AX3600
现在路由器默认的还是使用IPV4,IPV6还是需要手动打开的,再去nas里看下网络信息。


注意真实分配下来的ipv6地址,24开头。我们可以去www.test-ipv6.com 测试下网络是否连通了IPv6。如果网站的测试通过,说明我们已经成功拥有了IPV6地址。
此时可以看看nas是否获取到了IPV6的网络。

默认状态下是不会把内网设备暴露到公网上的。仅仅允许公网ping到它们。如果你需要公网访问它就必须修改防火墙设置。
进入小米路由器,高级设置–》端口转发
为了省事,直接使用了DMZ,在下面填入nas的ip地址(nas在路由器过去的地址,默认是192开头的ipv4地址),关于DMZ的作用可以自行百度。
最好将NAS的ip地址添加到路由器的固定ip中,防止路由器重启重新分配ip。
操作步骤:常用设置–》局域网设置


此时先尝试通过IPV6内网访问,确定地址生效,访问ipv6地址要注意加上[],否则不识别。
使用是HTTP协议

发现已经可以进入了,但是现在营运商是不给固定的ip地址,所以需要用到阿里云ddns域名解析了。
登陆阿里云的首页,找到域名注册,然后去注册一个域名,根据自己喜爱,注册域名。
域名注册需要通过实名认证,个人用户需要上传证件信息。不过阿里的认证效率还是挺高的,域名购买认证的过程非常顺利。不到一个小时解析服务就正常工作了。

购买完成后,点击右上角的控制台。然后搜索“云解析 dns”。

添加完毕以后,显示“状态正常”就能正常使用了。

再来客户端设置下,以群晖为例。我们需要用到群晖的docker插件。

安装好docker之后,在注册表里搜索“aliyun”选择这个容器,下载时默认提示即可。

在映像中选中容器,选择启动,选择高级设置。


按照下面的填写自己的信息
这个AccessKey在阿里云后台的右上角,ID管理这里可以获得。
获取阿里云AccessToken


附:容器github地址

启动后,查看容器日志,只要有获取成功的字样代表成功。

解析成功之后,我们就可以尝试用域名登陆nas。这回应该非常方便就可以登录。
好了,这就是我认为比较完美的远程登录nas的方法了。最后来总结下:
1、用ipv6来登陆nas,完全摆脱了内网穿透的复杂设置,网速受限和需要付费等种种弊端。设置起来也不麻烦,一次劳动享用几年。
2、目前各地运营商都已经支持ipV6,获得独立IP地址并不困难。关键是路由器需要支持防火墙放行。只要可以设置防火墙,就可以轻松用ipv6地址访问到nas。
本文转自:https://blog.csdn.net/weixin_43451430/article/details/123047835
我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass
我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah
我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r
我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U