【NAS玩机十一年高阶玩家教程系列其一】

2019-12-07 14:03:38 134点赞 832收藏 109评论

  经过几天的预告帖发酵,我发现大家的热情还是很高的嘛,那我就从呼声最高的需求开始讲了,各位随时留言,随时到预告贴(点我回到系列预告帖看系列目录)留言投票想尽快看到的教程。
  作为从菜鸟小白进阶到老鸟阶段的人来说,我做的教程会尽量贴合这个进阶阶段,强调一些坑以及这么做的原因【很多教程一步一步教你做下来,但有些一般小白不懂得坑,高手觉得很正常一掠而过的地方,往往最容易让人卡壳】。


【朋友们,真的请你热烈一点,我现在这篇教程写到60%,发现坑好多呀,头快烂掉了……】


系列大纲领【敲黑板】

此系列所有服务的安装和使用,除了 wallabag、bitwarden 以外都不必须公网IP要求,搭建在局域网在局域网环境内使用OK,有能力内网穿透的也能从外网访问。教程设计docker的部分全程使用命令行。
原因:简单、快速、具有100%可还原性。

  刚开始的时候可能你会觉得难受,毕竟长这么大敲命令行的时间加起来都没有半个小时,但是当你需要更新容器时,当升级换机时,复制粘贴几行代码,等待结束后无缝使用的体验,可比在docker套件里面点来点去保证设置不出错的感觉好太多了!

  上菜了,群晖官网教程如何通过 SSH/Telnet 用 root 权限登录 DSM

  就拿今天要说的套件举例,【用docker套件webUI安装】VS【用命令行安装】

噢,我的老伙计,怎么能忘了做介绍呢

咩嗨密码管理器?密码管理器有什么作用?密码管理器还能比我输入密码来的方便?bitwarden 在一众密码管理器中是个什么样的定位? 优缺点如何?

  不复制粘贴了,这里有两篇祥测对比文章:
  BitWarden:妈妈再也不用担心我记不住密码啦
  6款最好用的密码管理软件推荐

  你是否注册了N多网站只用一阵子,然后可能就忘了这个网站?
  你是否除了微信、支付宝、QQ、邮件以外的所有服务账户名密码都一样?或者密码是网站相关字符+完全一样的字符?
  你的微信、支付宝、QQ、邮件的密码字符有80%是否有以上的重合?不重合部分是不是对你来说有具体的意义?
  你的常用密码是否顶多大写小写加字幕连特殊符号都没有的?
  你的银行卡是否密码都一样?

  嗯,对对,别否认了,会看到这里的基本上占3条了。看过美剧《黑客军团》吗?黑客要入侵你的机器或账户,本质上还是要拿到你的账户密码,用对你来说有意义的数字文字做密码、在各个网站用相同或者相似的密码,只要某一个网站被黑客入侵脱库,那么你的一切将赤裸裸展现在黑客眼前。但如果你每一个账户的密码都是这样的【4$@F&v@Q5K4@WEq9nj!T7b9gk】那么就算用超级计算机暴力破解,也要花上40年的时间。只要比大多数人注意安全,只要比旁边的人跑的快,你就能避免虎口!!!

  全平台——iOS、安卓、win、linux、命令行

  从此以后,你只要记住一个主密码,忘掉所有的网站服务账户密码;忘掉银行密码;需要的时候点一下(chrome都不需要点,进入网站就自动填充账号密码),就OJBK了!跟我讲不安全?我主密码28位大小写+数字+特殊字符无意义强密码,破解个给我试试?bitwarden开启2步验证,破解个给我试试?密码太长记不住?用个几天,这辈子就忘不掉了,真的。

请注意:由于正常使用bitwarden必须https登录,所以如果你家没有公网IP或者你没有可以供群晖做内网穿透的VPS的话,不用再往下看了,上面的测评文章里面找个顺眼的密码管理app用起来吧。


来看一下我使用环境的截图

  哦,那啥,出于安全性原因,bitwarden app不能截屏,不能录屏。那咱们来说说安全性吧。
  
除了上文说的强力随机长密码的加持之外,整个工具体系的安全性是很值得注意的。所有密码管理软件里面唯一一个可以自建服务器【密码密钥都掌握在自己手上】,且后端开源的一款。后端开源的意思是,代码公开所有人可看,杜绝了加入后门的可能性(就算加入了也会很快会被发现)。你看,像windows、苹果系统这些闭源系统,它要真在系统中植入后门,等到关键时刻用一下,除了内部人员是不会有人知道,也没有任何办法的。
  连接密码库除了用自己的密码外,还能开启TOTP两步验证(类比电子银行密码器),有Google authenticator、其他外国的2步验证服务商、还有支持有一家提供二步验证硬件密码器,详情点我了解。



用docker套件webUI安装

搜索bitwarden用最前面2个,官方那个容易崩溃搜索bitwarden用最前面2个,官方那个容易崩溃

【NAS玩机十一年高阶玩家教程系列其一】

【NAS玩机十一年高阶玩家教程系列其一】

应用,下一步,启动,不想截图了应用,下一步,启动,不想截图了

好了,跑起来了

然而看到这个页面只是万里长征第一步然而看到这个页面只是万里长征第一步


我好难啊,我好烦啊!!!这是唯一的一次好吧!唯一的一次我做docker套件webUI做教程。来,看一下用命令行。【请注意!!!不要直接复制下面的代码在你机器上面跑】一定看完分析!

mkdir /volume1/docker/Bitwarden && docker pull bitwardenrs/server:latest && docker run --name Bitwarden-Server --restart=always -v /volume1/docker/Bitwarden:/data/ -p 12420:80 -p 12421:3012 -d bitwardenrs/server:latest

  眼花了吗?上面一行代码的功用等于上面所有操作的截图,你改成对于自己机器的代码,复制粘贴回车,喝杯茶等两三分钟就可以看到这个了。

【NAS玩机十一年高阶玩家教程系列其一】

请拿出小本本,要开始分析了【只在这贴做分析,后面套路都差不多】

mkdir /volume1/docker/Bitwarden
#新建一个文件夹用来放bitwarden的数据,一定要有,以后就算容器坏了或者删除更新,资料都在
#每个人的机器环境不同 /volume1 是我的主盘; /docker 是我专门用来放各种docker容器数据的共享文件夹,只能在DSM控制面板-共享文件夹中添加;/Bitwarden 你随便取什么名儿,有它就对了

&&
#前面一条命令敲完带个空格,打两个&,再带个空格,跟下一条命令。意思是上一条命令运行成功后继续运行下一条命令,没有个数限制,但是上一条命令返回的结果如果失败,则不会继续运行下一条命令。
#好处是啥?好处是无人值机呀,本来输入一条命令要等个几分钟再输入第二条,现在你一条输完然后去微博上看看小姐姐不好么。

docker pull bitwardenrs/server:latest
#意思是下载 bitwardenrs/server:latest 这个映像的最新版本(用套件下载能鼠标选择旧版本,latest改成旧版本号也行。有些套件不一定非要用最新版本,所以了解一下可以选版本这个知识点

docker run (启动了啊)--name Bitwarden-Server(容器的名字,可自定义,起个好听好看好记得,很重要!)--restart=always(让它不管发生啥情况都会自动重启,机器关机啦停电等恢复后容器会自动跑起来) -v /volume1/docker/Bitwarden(最开始那段新建的文件夹):/data/(这个不敢改哈) -p 12420(自定义不冲突端口):80(别手贱改它) -p 12421(自定义不冲突端口):3012(别手贱改它) -d bitwardenrs/server:latest (表示要调用的映像,别手贱)

以后容器如果有更新,一行就搞定:

docker stop Bitwarden-Server && docker rm Bitwarden-Server && docker rmi bitwardenrs/server:latest && docker pull bitwardenrs/server:latest &&docker run --name Bitwarden-Server --restart=always -v /volume1/docker/Bitwarden:/data/ -p 12420:80 -p 12421:3012 -d bitwardenrs/server:latest

翻译

docker stop Bitwarden-Server(停止运行中的容器) && docker rm Bitwarden-Server(删除停止后的容器) && docker rmi bitwardenrs/server:latest(删除该容器的映像) && docker pull bitwardenrs/server:latest (下载最新镜像)&&docker run --name Bitwarden-Server --restart=always -v /volume1/docker/Bitwarden:/data/ -p 12420:80 -p 12421:3012 -d bitwardenrs/server:latest

OK,至此,容器正常跑起来了,但是还不能正常使用。需要配置外部网络并部署SSL证书。




鉴于北京上海已经开始严打私设服务器(不只80、433端口,任意端口只要被扫到有网页服务,比如bitwarden等等会返回200的页面)都可能被封宽带,在此非常非常不建议直接拿域名绑定。


群晖自动申请Let’s Encrypt的ssl域名证书,支持泛域名,支持自动签发,自动部署到群晖


搞定泛域名证书之后,你有2种选择。
1、直接拿域名+端口绑定群晖
2、域名绑定VPS服务器给群晖内网穿透

方法一 直接拿域名+端口绑定群晖

做完这步就可以 https://ooxx.cc:1212 访问bitwarden了做完这步就可以 https://ooxx.cc:1212 访问bitwarden了

方法二 域名绑定VPS服务器给群晖内网穿透


在VPS上配置一个Frp服务器

ssh登录到VPS
sudo -i
获取root
cd /usr/share/
CD到你要安装的目录
wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz

解压
mv frp_0.16.1_linux_amd64 frp

改名
cd frp

进入目录
rm -f frpc frpc_full.ini frpc.ini

删除没用的客户端文件
vi frps.ini

编辑ini文件
按ins进入编辑

[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_port = 7500
dashboard_user = 登录控制面板用的用户名
dashboard_pwd = 登录控制面板用的密码
token = 随便写一连串啥,但是要和客户端一样
allow_ports = 1,2,3-10,11-65535
max_pool_count = 100
authentication_timeout = 0

复制以上内容到 frps.ini

按ESC退出编辑 按shift+: 输入wq 保存退出

./frps -c ./frps.ini

使用临时启动命令启动服务

打开你的服务器IP:7500看看服务是否启动,没问题的话Ctrl+C 结束

nohup ./frps -c ./frps.ini &

后台运行

如果需要调试

使用ps -ef 查看进程ID

kill -s 9 xxxx 杀掉进程

调试好后重新启动即可

设置一个开机自启

一般使用nohup ./frps -c ./frps.ini &命令启动之后如果不重启VPS就会一直运行,以下操作可以省略,只需要在服务器重启之后,重新cd到程序目录,输入一次nohup ./frps -c ./frps.ini &命令即可

新建1个目录存放frps.ini
mkdir /etc/frps

拷贝frps 到/usr/bin/
cp /usr/share/frp/frps /usr/bin/

拷贝frps.ini 到/etc/frps/
cp /usr/share/frp/frps.ini /etc/frps/

使用systemd配置开机自启,适用于 centos7 Ubuntu 16 或 debian 8。

sudo vim /etc/systemd/system/frps.service 新建此文件,并写入以下内容

[Unit]
Description=frps daemon

[Service]
Type=simple
ExecStart=/usr/bin/frps -c /etc/frps/frps.ini

[Install]
WantedBy=multi-user.target

/usr/bin/frps 为frps文件目录

/etc/frps/frps.ini 为frps.ini文件目录

启动并设为开机自启。
sudo systemctl start frps
sudo systemctl enable frps

————centos6.5及以下———————
vi /etc/rc.local
在最下面加一行/usr/sbin/frp/frps -c /usr/sbin/frp/frps.ini
其中 /usr/sbin/frp是程序放置的目录,自己修改,重启ok



在群晖上配置一个Frp客户端

先写一个与上面服务器相对应的客户端配置文件 frpc.ini

[common]
server_addr = VPS外网地址
server_port = 7000
token = 随便写一连串啥,但是要和服务端一样
protocol = tcp

[DSM-https]
type = https
local_ip = 群晖局域网ip
local_port = 5001
custom_domains = dsm.ooxx.cc

[navi-https]
type = https
local_ip = 群晖局域网ip
local_port = 1212
custom_domains = bitwarden.ooxx.cc

二级域名请在你的域名解析服务商处修改。

docker pull cloverzrg/frpc-docker:0.30.0 && docker run --name Frpc --restart=always -v /volume1/docker/frp/frpc.ini:/conf/frpc.ini -d cloverzrg/frpc-docker:0.30.0

【NAS玩机十一年高阶玩家教程系列其一】

大功告成。登录bitwarden页面,注册账户,记下关键信息。还有几步要做。
1、关闭bitwarden容器
2、修改容器环境 SIGNUPS_ALLOWED=false 【不允许新用户注册】
3、运行容器

【NAS玩机十一年高阶玩家教程系列其一】

web vaultweb vault

chrome 插件chrome 插件

我了个妈,这第一篇坑就填不完。先这样了。。。

展开 收起
109评论

  • 精彩
  • 最新
  • 终于有个有内涵的作者了!之前那个毫无技术含量废话又多的真的看的人想吐!

    校验提示文案

    提交
    对你有帮助就好,但是别给我树敌啊胖友

    校验提示文案

    提交
    哈哈,本站确实有个写群晖,写的特多但却毫无干货的人,实在看的人难受啊

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 部署了,体验了,导入了全量数据,发现易用性和颜值并不如 SafeInCloud 那样出色,字段的自由度也不如 SafeInCloud 高(某些字段是固定的删不掉),然后就是貌似没有地方编辑图标,账号详情页也不显示图标,总体体验颇为粗糙,网页端的存在貌似没有太大的意义,还是用回 SafeInCloud 吧

    校验提示文案

    提交
    正则表达式了解一下

    校验提示文案

    提交
    收起所有回复
  • 为啥不用子域名而用端口呢??顺便提醒下,上海正在抓私设web服务器。。。

    校验提示文案

    提交
    文中写了。做好了泛域名证书,子域名要多少有多少,就是配置反向代理的事儿。

    校验提示文案

    提交
    cloudflare挡一下有用么

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 不知道自己搭和用lastpass有哪些功能区别?现在用lastpass。也想迁移过去nas里。

    校验提示文案

    提交
    文章里写了呀。lastpass你的密码库是播放在服务商那里的,而你又不知道这个服务商能活多久。bitwarden服务器自建了,那密码库就在自己nas上了。

    校验提示文案

    提交
    万一nas挂了怎么办 [皱眉]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 方法1和2,比较推荐哪个?

    校验提示文案

    提交
    取决于
    1、你怕不怕被扫出来封宽带
    2、你有没有VPS

    怕,有VPS。选方法二。
    不怕,有VPS,都可以,方法一简单点。
    不怕,没有VPS,不想买VPS,选方法一,祈祷不会被扫到被封宽带。

    校验提示文案

    提交
    收起所有回复
  • 我现在用的1password 7 家庭版,一年四百多。 看界面貌似自己搭建的这个和1password 差不多啊。为什么工信部不允许自己搭建服务器?想文章介绍的这种完全合理的自用也不行吗?

    校验提示文案

    提交
    本质上是数据安全跟数据掌握在谁的手里的问题。界面。。。收费。。。
    看接受程度吧。既然差不多,有免费的干嘛用收费的。

    校验提示文案

    提交
    我刚安装的Docker ,用您贴出来的代码在终端内执行后报错运行不下去。不知道哪里出的问题。因为群晖内的文件结构和您贴出来的完全相同。所以直接用终端执行了。但是报错。于是按照截图一步一步执行下来。也开始运行了。但是不知道应该怎样登录网页的管理界面。 ip地址加端口号吗?第四张图的本地端口号的位置我看您写的是不管他,所以默认用了自动。这种情况下应该怎样登录管理界面啊?

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 问个问题,怎么让他自动检测当前版本是不是最新版?如果可以自动判断就能跑定时任务了。

    校验提示文案

    提交
    没法检测。我是自建了rsshub然后用rss订阅了在用的docker,偶尔看一下。

    校验提示文案

    提交
    收起所有回复
  • 我在用keepass 感觉能在nas上有个服务确实方便很多。nas上搭建个vpn能解决很多问题

    校验提示文案

    提交
    我在用自建Bitwarden之前一直用的enpass。后来想到自建搜了很多资料,95%都是关于keepass。
    但是怎么说呢,基本上同步就是把密码库文件传来传去,一定要有个客户端,而客户端大多数都很丑。
    不能实时同步。也自建用过一阵子,不太能接受。

    校验提示文案

    提交
    Bitwarden 搭建成功. https 是个难点.

    校验提示文案

    提交
    收起所有回复
  • 方案二frp的话访问流量受vps限制吧?

    校验提示文案

    提交
    是的,流量要中转vps走一圈,受限于vps的延迟上下行等,但是会更安全一些,自己看下怎么做抉择了。

    校验提示文案

    提交
    收起所有回复
  • 矿渣,能稳定transmission不掉盘的,求个推荐,谢谢

    校验提示文案

    提交
    不知道你在问啥。。。推荐什么?机器?系统?软件?硬盘?

    校验提示文案

    提交
    矿渣,翻车的那种……

    校验提示文案

    提交
    收起所有回复
  • 今天配好了,感觉爽歪歪,真的再也不用天天记密码了。不过,2个问题:1,主密码怎么管理?只能记本子上咯? 2,数据怎么备份?要是nas挂了那我所有账号都打不开了。3,如果nas临时性的无法服务,bitwarden客户端能提供离线服务吧?

    校验提示文案

    提交
    1,你如果有用电脑chrome的插件,把【需要输入密码时间】设置为2个小时,那么就会强制一天要你主密码输入好几次,几天就自然而然记下来了。我现在是每天都好几次,写是不用写下来,反正除了脑震荡是不太可能忘了的。

    2,备份有2个方法 ① 把docker/bitwarden映射的这个文件夹打成压缩包<这里面包含密码库,需要主密码) ② 定期导出密码库为json文件<这个是所有密码明文的),然后加密压缩。

    校验提示文案

    提交
    谢谢,那我就做个计划任务加密后扔百度云吧

    校验提示文案

    提交
    收起所有回复
  • 大神。有个困扰我很久的问题,我买了一个ups,但是因为群晖里开着虚拟机,每次关机都会弹窗说虚拟机正在运行让我点是或者否。不点就无法关机。这样导致了断电ups发出关机指令,也无法正常关机。请问有什么办法解决吗

    校验提示文案

    提交
    这个跟你群晖型号,ups型号有关,最好是去问下售后,或者在群晖里面的帮助中心提交工单询问。

    校验提示文案

    提交
    收起所有回复
  • 几个问题,求大神解答,是不是一定要用支持HTTPS的域名,用花生壳免费的壳域名可以不?另外,这个软件具体如何使用,有教程么~~ [无奈]

    校验提示文案

    提交
    1,一定要https。
    2,怎么用自己摸索吧。。。

    校验提示文案

    提交
    等有时间好好捣鼓一下~~这个对我这种记忆力差的,真的是真香!!有些网站用手机注册的还好,能找回密码,没用手机注册的。。就只有再注册。。疯了~~

    校验提示文案

    提交
    收起所有回复
  • 来了,他终于来了。
    点赞

    校验提示文案

    提交
  • 这个系列的文章真是干货啊,干饭人都能得啃半天,硬菜!坐着为啥不更新了,是不是啃的动人太少了,没动力了……

    校验提示文案

    提交
  • 他来了他来来。。
    虽然已经有了NAS
    但是除了当下载鸡,有些不知道干嘛用了。

    校验提示文案

    提交
    在用威联通,有点想换群晖了

    校验提示文案

    提交
    嗷,不要灰心我的朋友,如果你的威联通也有docker套件,理论上是差不多一样能这么玩的。

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 按教程走,卡在登陆界面、注册上了,解决方法:①无法登陆,把80对应的本地端口改一下。②不是https不能注册,编辑容器,卷中添加文件夹bitwarden/ssl装载路径/ssl/,重点来了,导出群晖证书解压到ssl文件夹,注意,不是域名证书直接放入哈,环境变量 ROCKET_TLS值{certs="/ssl/cert.pem",key="/ssl/privkey.pem"}应用,正常的话https了,可以注册了

    校验提示文案

    提交
    不用在容器里导证书。用好群晖自己的反向代理映射,在那里映射https请求到bitwarden容器的web端口,再在群晖的证书管理里给这个反代配置对应的证书。当然在dns提供商那里做好二级域名的解析,反代中指定完整二级域名

    校验提示文案

    提交
    反向代理映射怎么挂证书?没找到可以挂的地方。谢谢!

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大神,上海电信用户怎么才能安全的从外网访问家里的nas?? [喜极而泣] 出篇教程吧!

    校验提示文案

    提交
  • 漂亮,第一个就是最想看的,碎银奉上

    校验提示文案

    提交
  • 赞一个,非常好的内容

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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