- 主题:公网ip,如何访问家里的硬盘
首先是dsm设置
在控制面板-网络-DSM设置中:
//默认端口号可以随便乱改一个,反正用不上
//勾上http重定向到https
//域,勾上启用自定义域
//域,在域名框中,录入你为dsm设置的域名,一般可以设置为xx.xxx.com这种二级域名
//域,勾上启用hsts
其次是其他服务
控制面板-应用程序门户-应用程序
选择应用程序,编辑打开
//如果启用自定义别名,比如别名为audio,那么在你的dsm访问地址后边加上“/audio”,就访问这个程序的服务
//如果启用自定义端口,比如10001(https),那么在群晖访问地址后边加上手动端口“:10001”,就访问这个程序
//如果启用自定义域,并设置域名比如为a.xxx.com,那么就可以直接用该域名访问程序
//访问控制,这里补充一个安全配置,就是可以在这个应用程序门户的另一个子类 访问控制配置文件 中,设置一个访问规则,比如国外ip都禁止访问。大部分攻击都来自国外ip,少有国内ip敢干这事的。如果你没有使用国外ip,可以启用这种访问控制,或者仅允许特定类型ip访问,比如仅允许美国ip
最后是web服务
所有上边两类规则之外的访问,都会最后丢给web服务
如果你选择基于不同域名
//那么只需要使用相应的域名访问到群晖即可,http是80,https是443。
//http明文强烈不要使用,所以dsm和其他程序都设置强制https访问,路由器也不给转80。
//一般家庭公网都是封443,而且就算不封,按上海故事,公然使用443建站服务,也容易被请喝茶。加之在外网使用群晖的程序只基本只涉及5001和6690,所以路由器做以下端口转发最简洁
//5001转发给群晖443,6690转发群晖6690
//这样,所有群晖程序都直接用对应域名即可(程序会自动给域名加上5001或者6690)
//这样,如果是浏览器地址访问,就自己手动加上5001好了。当然,如果你的443电信运营商没封,你又自信,那么可以同时路由器443转群晖443,浏览器地址访问也不用加端口了,默认443即可。
如果基于端口
这有两种情况
//第一,你只用一个域名,然后加不同端口,就需要把用到的端口号都转发给群晖,而且你要为不同服务记住其端口号
//第二,如果你用不同域名,都用同一端口号,好处是路由开端口少,且你不用记端口号。这时可以在应用程序门户-反向代理中,建立反向代理规则,将不同的域名访问,代理指向不同的端口(即对应的套件服务)
但是第二是脱了裤子放屁,本质就是域名访问,所以直接用域名就完了
别名,端口,域名我都用过,域名是最简洁,逻辑最清晰,最方便的。因为人很容易记忆域名,记忆端口数字很考验你的记忆力,别名跟域名差不多,但没有二级域名这种看起来“自然爽”。
另外补充一个分享链接的
driv的分享链接格式,可以在drive控制台中自定义设置,自定义drive域名加上你的端口,否则你通过drive分享的链接是不带端口的,默认443,如果你公网ip用不了443来访问群晖,别人打不开你的分享链接的。
moments的app分享链接,必须在登录时,手动在域名后加上端口再登陆,否则分享链接也不带端口。
其他如file之类的,不需要设置,分享链接会自动加端口,直接就可以正常访问。所以moments其实是开发程序员偷懒,或者是另外一波人开发的。
再补充域名解析
最好不使用泛域名解析,只对你使用的域名解析。如果你使用泛域名解析,那么随便整个啥域名(在泛域名解析规则内的),都能访问到群晖,但是你又没有告诉群晖这个域名指向谁,群晖默认都会丢给web服务或者dsm。手动多加几条记录,或者一条泛解析省事,自己选择。
再说域名解析,有华硕路由器这种的,可以直接用华硕的免费ddns,华硕提供xxxx.asuscomm.com的免费域名解析,xxxx你自己定义,相当于送一个免费域名给你并提供解析服务。
所以如果你懒得自己买域名,就可以直接用华硕这个域名,使用同一域名,不同端口号或者自定义别名方式。
如果自己有自己的域名,那么将你的域名解析直接解析到华硕给你的这个域名即可。
华硕这个基本没问题,但是偶尔也会不及时更新ip,所以可以自己部署ddns软件,来做辅助更新。
比如群晖虚拟机个lede,既做旁路由,又装ddns插件,给一个我自定义的特定域名每10分钟做解析。这样如果华硕这个解析挂了,我就去查我自定义的这个特定域名的ip,就知道正确ip了,相当于两个解析手段,一个主用,一个保险。
如果你没华硕,或者你路由器没有这种服务,就要靠ddns相关软件来自己部署了。
【 在 Eatman 的大作中提到: 】
: 请问分套件不带端口访问如何实现?
:
--
修改:tysy1230 FROM 220.173.26.*
FROM 220.173.26.*
感谢!基本非常清楚详细
就是作为小白,我还有两个问题
我的理解,这个方法想要方便,需要统一将443映射为5001,也就是群晖这边dsm、dsfile这几个的默认端口也统一变为443,这就需要hsts。如果我想同时启用两个顶级域名,就不好实现了是么。有没有其他方法?
另外一个 ,如果使用华硕这类二级域名的话,应用程序门户那儿可以设置三级域名?
【 在 tysy1230 (SpiritMaster) 的大作中提到: 】
: 首先是dsm设置
: 在控制面板-网络-DSM设置中:
: //默认端口号可以随便乱改一个,反正用不上
: ...................
--
FROM 112.225.61.*
域名本质是替代你的ip,记域名比记ip方便。
第一,使用域名访问跟服务的端口没有关系。可以理解为,群晖在80和443端口,接受各种访问,然后会根据域名设定规则,将收到的访问,指向对应的服务,这和服务自身有没有特定端口,没有关系。
80和443是群晖web服务的端口,你可以理解为域名访问规则是先挑选的人,凡是到群晖这里来的人,域名访问规则先挑,他按你定好的规则,对不同的来访域名,引导到不同的服务去,不在他本子记录中的,他就不管。类似的还有反向代理规则,这些人都挑完后,仍然没人认领的来访,就最后扔给web服务了。你如果建站了,开启web服务了,就会显示你的站。你如果没开web服务,群晖就回答你:oops,出错啦!
使用域名访问,好处就是你不用去给各种服务再在群晖上开端口,所以我说,你随便给dsm设置个端口,反正你用不上,因为你是通过访问443的域名来访问dsm的,dsm不自定义端口都不影响(dsm强制有端口),其他比如moments,你完全不用给它开端口。
上边已经说了,群晖提供用户三种手段,让你告诉群晖,你本次访问的是哪个服务。三选一即可,没必要都弄。
在域名访问下,你只会用到群晖的443(https)和80(http)两个端口。
6690那是pc上的drive客户端实际是以前的cloud drive的遗留问题,估计群晖也懒得大改,就这么用吧。
为什么是要映射公网的5001到群晖443,是因为群晖的程序和app,都是默认使用5001(https)5000(http),比如你在手机ds file上https登陆,你如果不手动指定端口,app就会自动使用5001,也就是默认会访问到你的路由器的5001。
为什么是5001呢,因为dsm默认就是5001。群晖给用户三种手段表明自己的服务,实际群晖自身使用的是另外的方式,具体你随便在dsm页面,进入套件中心,随便打开一个套件,看看新打开套件页面的地址,你就知道群晖用的什么方法了。
也就是说,群晖app本身要链接比如moments服务,是先链接到dsm,然后通过它自己标记手段,告诉系统我本次要访问moments。
所以,如果你不想搞太多域名,你就只需要一个域名,通过这个域名访问到dsm即可。
在程序和app上,只要访问到dsm,剩下的链接到具体服务,程序和app会自己搞定。
在浏览器中,你就无非先登陆dsm,然后通过dsm再去打开对应套件即可。
这种最简单模式设置如下:
都以https举例
1、定义dsm端口,可以自定义x,也可以用默认5001
2、路由器映射端口,将外网端口y,映射为群晖dsm端口x或者5001
3、配置dns解析,将你使用的域名比如z.com解析为你路由器的公网ip
于是你整个路径如下
当你使用域名z.com:y訪问时,首先dns服务器解析z.com为你的路由器ip地址
于是你根据ip地址找到你路由器,告诉路由器我要访问端口y
路由器根据自己端口转发规则,将你的请求转发到群晖的x或者5001
x或者5001,系统已经交给dsm使用了,于是你就和dsm连接上了。
如果这是一个浏览器访问,仅有z.com:y访问,那么dsm就本人服务你。
程序和app还会在访问中同时提交其他信息,dsm看到这些信息后,就知道你不是要见他,而是要见另外一个人,就会让你要见的人来服务你。
6690是特别的,群晖有个drive server服务,默认使用6690,这个服务是drive的pc客户端专用的,这是群晖服务中的一个特例。app上的drive不是用的这个。
第二,使用华硕的二级域名,华硕帮你做了域名解析。你如果在这个基础上做三级域名,这个三级域名谁解析?
【 在 Eatman 的大作中提到: 】
: 感谢!基本非常清楚详细
: 就是作为小白,我还有两个问题
: 我的理解,这个方法想要方便,需要统一将443映射为5001,也就是群晖这边dsm、dsfile这几个的默认端口也统一变为443,这就需要hsts。如果我想同时启用两个顶级域名,就不好实现了是么。有没有其他方法?
: ...................
【 在 Eatman 的大作中提到: 】
: 感谢!基本非常清楚详细
: 就是作为小白,我还有两个问题
: 我的理解,这个方法想要方便,需要统一将443映射为5001,也就是群晖这边dsm、dsfile这几个的默认端口也统一变为443,这就需要hsts。如果我想同时启用两个顶级域名,就不好实现了是么。有没有其他方法?
: ...................
--
修改:tysy1230 FROM 220.173.26.*
FROM 220.173.26.*
举个详细例子
比如就用dsm默认端口,不改
当你用a.com:10001访问
首先,你成功做好了域名解析服务,那么a.com访问到你路由器
你路由器设定10001来访映射给群晖的5001,那么你就成功和dsm接上头了。
如果你域名解析不成功,你就找不到目标服务器,就是你路由器
如果你路由器映射错误端口或者没开映射,那么你找到路由器,你也没法和dsm接上头
在网页上,你只要和dsm接上头,你就可以通过dsm的软件中心打开各种服务,dsm相当于你和具体服务的中间人。
在程序和app上,程序和app会在访问请求中包含信息,指明dsm,让他找谁来和你接头。
这是一个域名情况下,dsm是必须的中介人
如果你想和各套件直接面对面
那就给各套件自定义域名,比如定义moments域名为m.a.com
路由器映射10001到443
那么你通过m.a.com:10001你就直接跟moments见面啦。
所以如果你为了安全,你甚至根本不把dsm映射外网访问,你比如只有外网访问照片需求,你就只给moments定义外网访问。那么其他包括dsm在内的服务,公网是访问不了的。
其实方法是很活的,群晖给你的三种指名方法,灵活使用。
dns解析,让你找到路由器
路由器端口映射,让你找到群晖
在群晖上设定指名规则,就相当于预先约定暗号,群晖一对暗号,就让你和你想要找的人接头
弄明白这个,其实就很好玩,比如你可以路由器映射到群晖20000端口,然后你反向代理将20000端口部分流量转到群晖(也可以是内网其他设备)的10000端口,另一部分转到30000端口…如此转来转去,最后转到某服务端口。是不是很好玩?
【 在 Eatman 的大作中提到: 】
: 感谢!基本非常清楚详细
: 就是作为小白,我还有两个问题
: 我的理解,这个方法想要方便,需要统一将443映射为5001,也就是群晖这边dsm、dsfile这几个的默认端口也统一变为443,这就需要hsts。如果我想同时启用两个顶级域名,就不好实现了是么。有没有其他方法?
: ...................
--
修改:tysy1230 FROM 220.173.26.*
FROM 220.173.26.*
明白了
我昨天的问题其实是我用两个域名连群晖,所以不想设hsts。但是发现如果不设hsts,手机上的ds file也是连群晖的5001端口,而不是443。
这样的话,我还是得5001映射到5001,而不是5001映射到443,443需要额外的端口映射。
关于华硕的域名那个事情,也就是说,要使用域名连群晖套件,还是需要一个顶级域名,这些ddns服务商的二级域名是不行的
【 在 tysy1230 (SpiritMaster) 的大作中提到: 】
: 域名本质是替代你的ip,记域名比记ip方便。
: 第一,使用域名访问跟服务的端口没有关系。可以理解为,群晖在80和443端口,接受各种访问,然后会根据域名设定规则,将收到的访问,指向对应的服务,这和服务自身有没有特定端口,没有关系。
: 80和443是群晖web服务的端口,你可以理解为域名访问规则是先挑选的人,凡是到群晖这里来的人,域名访问规则先挑,他按你定好的规则,对不同的来访域名,引导到不同的服务去,不在他本子记录中的,他就不管。类似的还有反向代理规则,这些人都挑完后,仍然没人认领的来访
: ...................
--
修改:Eatman FROM 223.80.90.*
FROM 223.80.90.*
你访问群晖的时候,群晖只看到两个信息,一是你的域名,二是你的端口
那么这个时候,群晖怎么知道你要访问哪个服务呢?
使用域名访问规则,那你就设定各个服务的域名,不同的域名来访,群晖就知道你需要哪个服务
使用端口规则,那就给各个服务设定不同端口,你访问到对应端口,就访问到对应服务
这两种,都是你和服务直接握手,类似找小姐,你是直接和小姐交易买卖。
群晖自己使用的,不是直接交易,而是通过老鸨的方式,你先找到老鸨,告诉老鸨你的需求,老鸨再把对应小姐找来给你。这个老鸨就是dsm。换言之,如果你要使用群晖这种方式,就只需要一点,开启老鸨在外网的访问即可,其他小姐全关在内网即可,外网先和内网的老鸨接头,老鸨再带小姐出来见你。
群晖在电脑端的程序和手机端的app,会自动在你的域名和端口之外,添加其他信息,这些信息会让dsm识别,然后通过dsm调用对应服务
如果你只用华硕给你的二级域名,也就是域名只有一个,那么如果你要和服务直接握手,就需要给不同服务配不同端口,通过一个域名加不同端口,访问不同服务
或者也可以借用dsm做中介,用华硕域名加dsm端口,访问dsm即可。
程序和app使用,ok,因为它们自动帮你向dsm提交其他识别信息,也就说你用moments访问dsm,群晖会自动调起moments服务给你。
web的话,你就需要先开dsm,然后在dsm软件中心来开对应服务。
hsts不过是强制https,跟你说的不是一回事。如果发现来访是http,hsts会强制将http访问导向https。实际上没用,除非你家443没封,应为hsts导向https时,是使用默认443的,而如果你的公网ip443并不能通到群晖443,http访问群晖,就会被hsts导向一个无法访问的https。
上边也讲了,为什么各个程序和app的https默认使用端口是5001,因为群晖的dsm默认https端口是5001,群晖除pc端drive 6690外,其他全部是走的dsm当中间人的方法,换言之,包括ds file在内,都是先访问5001端口访问到dsm,然后再由dsm帮助调起对应服务。
如果你决定就让程序和app使用默认的5001,
//那么,路由器5001映射群晖443,则所有到访群晖的,在群晖看来都是域名:443,此时你就必须变换域名,才能变换服务,否则所有到访都是一模一样,群晖不知道你要干啥。
//或者,路由器映射5001到dsm端口(如果没有自定义,那就是5001),那么你访问的就是dsm,此时只需要一个域名即可,用来访问到dsm即可。dsm可以充当中介,dsm一看ds file在访问中附带给dsm的额外信息,就知道调起file服务。
你如果映射443用不了ds file,就说明你没有为file设定你使用的对应域名。
443就像群晖的一个预设接待大厅,到这里来的所有人,你必须有介绍信,然后由域名服务规则或者反向代理规则等作为接待员,接待员根据你的介绍信,引导你去对应小姐。你如果没有设定引导员,或者你的介绍信和引导员的工作手册对不上,那么你就无人引导,就只能在接待大厅转一圈,然后oops,出错啦。
如果你不想采用这种客人小姐直接对面的方式,你就采用dsm中介。
你设定dsm在5001房间上班,然后所有客人都到5001,告诉dsm你找谁,dsm就叫对应小姐出来服务你。
选哪种,你根据自己情况选择合适。
【 在 Eatman 的大作中提到: 】
: 明白了
: 我昨天的问题其实是我用两个域名连群晖,所以不想设hsts。但是发现如果不设hsts,手机上的ds file也是连群晖的5001端口,而不是443。
: 这样的话,我还是得5001映射到5001,而不是5001映射到443,443需要额外的端口映射。
: ...................
--
修改:tysy1230 FROM 220.173.26.*
FROM 220.173.26.*
汗,原理一开始就能理解的,不用每次都写得这么详细
我主要对群晖的设定不熟悉,加上昨天测试设定了file station的域名后,用443端口连接ds file失败
简单说
用单独设定的域名访问套件就是443,用别名访问套件就是与dsm一致的5001,是这样是吧
这样区别就只是在于,路由器的端口映射是5001转群晖的443还是5001的问题
但无论我怎么选择,由于photo station(必须443)和dsm网页(必须不能443)的存在,我端口映射还是得多设一个
【 在 tysy1230 (SpiritMaster) 的大作中提到: 】
: 你访问群晖的时候,群晖只看到两个信息,一是你的域名,二是你的端口
: 那么这个时候,群晖怎么知道你要访问哪个服务呢?
: 使用域名访问规则,那你就设定各个服务的域名,不同的域名来访,群晖就知道你需要哪个服务
: ...................
--
FROM 223.80.90.*
同一个端口,实际上可以实现逻辑上“多用”,你用反向代理可以测试下
比如,你建立一个反向代理规则,aa.bb.com:443来访,转到本机localhost:5001,那么aa.bb.com:443就会被转到5001上的服务,访问aa.bb.com:443本质等于访问aa.bb.com:5001
同样,你可以用域名区分规则试一试,你把aa.bb.com域名交给moments,aa.bb.com:443到访,就会直接访问到moments
这个443,不妨碍photostation和web服务默认使用443。我不用photostation,所以不知道这两个谁优先不懂。之前也说了,域名规则,反向代理等规则挑剩的443到访,才会交给使用443的web服务或者photostation。如果最后没有服务使用443,群晖会直接告诉你无法访问。
因为我不用photostation,或许群晖给photostation设定了最高的逻辑优先级,只要你开了photostation,所有80,443访问都直接被photostation截走。
测试这个很简单,你设定aa.bb.com:443的反向代理规则,导向dsm,或者给dsm设定aa.bb.com域名访问,然后浏览器aa.bb.com:443访问下试一试,看是打开了dsm,还是photostation。
【 在 Eatman 的大作中提到: 】
: 汗,原理一开始就能理解的,不用每次都写得这么详细
: 我主要对群晖的设定不熟悉,加上昨天测试设定了file station的域名后,用443端口连接ds file失败
: 简单说
: ...................
--
FROM 220.173.26.*
这个很好,
穿透性能好,适合大多数网络。
然后,因为客户端的私钥是通过其他途径传递的(不经过网络),
所以不存在信息被窃取(中间人攻击)的危险。
我用了很多年了,
从公司/咖啡馆/酒店穿透回到家里,
和在家里用完全一样的感觉。
【 在 hblsdu 的大作中提到: 】
: 请问openvpn这种方式安全性如何?
: 发自「今日水木 on Android」
--
FROM 1.202.116.*
我安装photostation测试了
发现ps使用443端口,其实是谬传,或者说不准确
ps不是使用443作为识别端口来用的,准确说是:443/photo的别名方式
443端口仍然是web服务的识别端口,开启ps,访问443,访问到的是web服务(在自定义域名和反代规则之外)
开启ps,不影响我的自定义域名使用和反代规则,dsfile等app依然正常使用。
而ps,我没发现哪里可以像其他服务一样,自定义端口,自定义域名或者自定义别名
似乎ps只有默认一个访问方式,就是:443/photo
所以如果你要用ps,并不存在要把443给它独占的问题。
如果你是5001转443,访问ps的方法就是外网:5001/photo,也不影响其他服务。
具体可看看这个帖子
https://post.smzdm.com/p/a078kzl0/
【 在 Eatman 的大作中提到: 】
: 汗,原理一开始就能理解的,不用每次都写得这么详细
: 我主要对群晖的设定不熟悉,加上昨天测试设定了file station的域名后,用443端口连接ds file失败
: 简单说
: ...................
--
修改:tysy1230 FROM 220.173.26.*
FROM 220.173.26.*