Bitwarden部署后一个草鸡搞笑的bug!!

新年快乐啊

前情提要:我前段时间发现我的一个邮箱莫名其妙的被登录,且发了非常多的垃圾邮件,后面我把能开启两步验证的网络服务全部开起来,以确保安全。

部署Bitwarden后的搞笑bug

在部署完Bitwarden后我发现一个问题:Bitwarden的网页页面登录正常,但是所有的浏览器插件登录全部提示密码或者用户名错误,包括桌面客户端。

如何解决

Google一下,在github看到有人给了答案,简直了。。。

Bitwarden把名字从Bitwarden换成了vaultwarden,我在部署时pull了是bitwarden/server:latest

因为浏览器插件和桌面客户端都是最新版本,导致无法登录旧版本Bitwarden镜像部署的服务,因此只能删了在重新部署vaultwarden。

pull新的镜像

docker pull vaultwarden/server:latest
docker run \
-itd \
-e PGID=1000 \
-e PUID=1000 \
--name='bitwarden' \
--net='macnet' \ #更换成你的network名称
-e TZ="Asia/Shanghai" \
-e 'SERVER_ADMIN_EMAIL'='你的邮箱地址' \
-e 'SIGNUPS_ALLOWED'='false' \
-e 'INVITATIONS_ALLOWED'='true' \
-e 'WEBSOCKET_ENABLED'='true' \
-e 'ADMIN_TOKEN'='使用openssl生成' \
-p '8086:80/tcp' \
-v '/home/data/bitwarden':'/data':'rw' 'vaultwarden/server:latest'

生成’ADMIN_TOKEN’的命令

openssl rand -base64 48

强烈建议:任何情况下,尽量开启2步认证。

使用Alist,让天翼云盘支持webdav

为什么是天翼云盘

优点

  • 速度挺快,相对于让人恶心的百度,天翼云盘的上下行基本不限速,上行基本可以达到3-4Mbps,下行可以3Mbps以上。
  • 容量够大,反正我是的容量是有14TB,不知道是不是跟用户的套餐有关,这点我不确定。
  • 我是电信用户??????

缺点

  • 不支持webdav,其实我认为不完全算是缺点,因为国内能用的云盘里面,官方原生支持webdav的好像也只有坚果云,如果都支持webdav的话,还有谁愿意去用官方客户端对吧。
  • 客户端难用

为什么需要webdav

我的NAS一直都是采用了RAID0的亡命之徒的阵列方式,只要任何一块硬盘归西,数据也就跟着丢了,而且都穷成这样了,当然就没有所谓的异地备灾这种高级组网方式了。所以为了安全考虑,我将重要的数据同步备份到云服务商上,我使用的是群晖自带的Cloud Sync,Cloud sync可以支持非常的网盘提供商,webdav以及对象存储,但它不支持天翼云。

Cloud sync可以支持webdav,但是绝大多数的云盘也不支持webdav,所以我们需要一个中间组件,使得云盘支持webdav,然后再通过cloud sync的同步功能将本地重要数据备份至云盘。

Alist

Alist是一个支持多种存储的文件列表程序,可以让多个存储提供商的云存储服务支持webdav,支持多种部署方式,安装起来也非常简单,我这里采用docker的方式进行部署,当然,如果您有支持openwrt的路由器,或者N1等设备也是可以的。

docker方式安装Alist

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest

docker部署的方式相对简单,一条命令就能搞定。pull完成后,访问http://IP:5244 端口即可访问管理页面。

如何添加天翼云盘

添加方法非常简单,只要填写电话号码、密码和挂载路径,Alist提供非常详细的使用文档,如果您使用其他云服务商,可以参考文档配置。

回到首页,可以看到我们已经成功添加天翼云盘。

如何在本地电脑上使用wendav

我这里使用了免费的RaiDrive,配置方法如下,

查看管理员密码:

docker exec -it alist ./alist admin

地址:您docker运行的IP地址
端口:您部署时的端口,我这里是5244
路径:/dav

继续阅读

安装OAI 5G核心网

OAI是啥?

能上网搜索OAI是啥的一般也不需要我再介绍它是用来做什么的,我记录一下安装过程,避免以后忘记。
具体可以参考其官网

  • 目前OAI已实现3GPP的R17版本
  • 整体网络拓扑架构

先决条件

操作系统要求为:ubuntu 18.04版本。

安装docker和docker-compose

这里有个很大的坑,因为第一次安装的时候办公室没有梯子可用,所以直接用了ubuntu打包的docker.io和docker-compose版本,后面在运行docker的时候docker-compose开始报错,这里还是安装docker官方的安装方式。

安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

为了避免每次自行docker命令都要直行sudo命令,这里给docker管理员权限。

sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker #重启docker服务,生产环境谨慎。
sudo chmod a+rw /var/run/docker.sock

安装完成后执行docker version 命令查看版本信息。

继续阅读

Linux挂载远程SMB文件夹

临时挂载

只是临时挂载到本地server上使用,记录一下,以免哪天用到又忘了。

sudo mount -t cifs //192.168.123.164/home/music /home/user/music -o username=xx,password=xx,vers=2.0

开机挂载

vim /etc/sambapasswd
username=xx
password=xx

在/etc/fstab下追加一行

//192.168.123.164/home/music   /home/user/music   cifs    credentials=/etc/sambapasswd    0 0

这样就可以了

Ubuntu20.04安装cockpit docker

在安装完成cockpit后发现没有docker的管理模块,搜索一圈,大多数的解释是用sudo apt-get install cockpit-docker 命令来安装,但实际安装时提示无法找到安装包。

虽然平常大多数的时候基本使用docker命令来操作,但cockpit的可视化界面还是非常好用的。

没有docker管理模块
找不到cockpit-docker 安装包

搜索一圈后在Youtube上发现一个Youtuber上传的教学视频,这里记录一下

这是大佬的视频链接:https://youtu.be/fbpOOoP8zA4

访问:https://packages.ubuntu.com/

继续阅读

HomeAssistant反向代理后访问出现400 BadRequest处理

为了安全起见,给HomeAssistant配置反向代理,在确保SSL证书和Nginx的反向代理配置没有问题后,访问HTTPS的URL地址后,会出现400 BadRequest的问题。

查看logs后发现系统提示

2021-12-26 23:55:17 ERROR (MainThread) [homeassistant.components.http.forwarded] A request from a reverse proxy was received from 192.168.123.XXX, but your HTTP integration is not set-up for reverse proxies

大概的意思是需要配置下反向代理服务器的地址,应该是为了安全,但这在之前的几个版本里并不存在相关的配置——坑

搜索下,有位大佬给了解决方案,链接在此:【新提醒】升级到2021.7后外网打不开web页面的解决方法 – 『HomeAssistant』综合讨论区 – 『瀚思彼岸』» 智能家居技术论坛 – Powered by Discuz! (hassbian.com)

非常感谢分享

http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.123.0/24 # Add the IP address of the proxy server

重启容器后可正常访问https的地址。

用于容器监控的命令行工具CTOP

CTOP是一款基于go语言开发的docker应用监控软件,它可用于在容器层级间监控进程,容器通过利用控制器组(cgroup)的资源管理功能,提供了操作系统层级的虚拟化环境,简单实用。

一、openEuler安装CTOP

GitHub地址:GitHub – bcicen/ctop: Top-like interface for container metrics

sudo wget https://github.com/bcicen/ctop/releases/download/0.7.6/ctop-0.7.6-linux-amd64 -O /usr/local/bin/ctop

sudo chmod +x /usr/local/bin/ctop

一些其他命令

-a:仅显示活动容器
-f :设置初始过滤字符串
-h:显示帮助对话框
-i:反转默认颜色
-r:反向容器排序顺序
-s:选择初始容器排序字段
-scale-cpu:显示cpu占系统总数的百分比
-v:输出版本信息并退出

Docker安装pgAdmin

用pgAdmin来管理之前安装postGIS数据,本地笔记本卡到不行,实在不想在安装其他的软件。

1、Docker安装pgAdmin

拉取pgAdmin

docker pull dpage/pgadmin4

运行并设置登录账号和密码

docker run -d -p 5433:80 –name pgadmin4 -e PGADMIN_DEFAULT_EMAIL=admin@XXXXXXOOOOOO.com -e PGADMIN_DEFAULT_PASSWORD=NMBD dpage/pgadmin4

在浏览器访问http://IP:5433 填入设置的登录账号和密码即可正常访问

Docker安装PostGIS,端口无法映射问题处理

PostGIS是个开源的软件,是 Postgres数据库的一款扩展插件,主要用于实现空间数据库,提供了存储空间地理数据的支持,能够进行空间数据管理、数量测量与几何拓扑分析。

因工作需要用到QGIS软件,为了避免每次都要到一次工参的麻烦,又不想在本地笔记本电脑上安装数据库软件,因此打算在openEuler的Docker上安装个PostGIS,方便日常工作使用。

本文主要参考了这位大佬的文档,非常感谢作者的分享。

https://juejin.cn/post/6844903661886242824

Docker上安装PostGIS

1、创建本地文件

命令:mkdir postgre_data && cd postgre_data

2、安装PostGIS

大佬的命令:

docker run –name=postgis -d -e POSTGRES_USER=sde -e POSTGRES_PASS=sde -e POSTGRES_DBNAME=gis -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v /root/postgre_data:/var/lib/postgresql –restart=always kartoza/postgis:9.6-2.4

大佬的命令在执行后,容器启动后无端口信息,无端口绑定,docker也无法访问,Google一下,有人建议将端口映射命令放在 –name= 前面 也就是一下的命令形式

docker run -p 5432:5432 –name=postgis -d -e POSTGRES_USER=sde -e POSTGRES_PASS=sde -e POSTGRES_DBNAME=gis -e ALLOW_IP_RANGE=0.0.0.0/0 -v /root/postgre_data:/var/lib/postgresql –restart=always kartoza/postgis:9.6-2.4

按照这种方式Pull镜像后,还是无法正常运行,没有端口绑定信息。

查看log信息发现提示:initdb: could not access directory “/var/lib/postgresql/9.6/main”: Permission denied

提示无目录访问权限,查看data的目录权限

修改下目录权限,再重启docker,就可以正常绑定端口了。

openEuler安装docker及Portainer

在虚拟机上测试了一段时间的openeuler,发现还蛮好用的,主要是系统文档非常详细,系统本身的资源调度较好,在1G内存的机器上运行速度也还可以,准备安装到群晖虚拟机上,做docker应用服务器用。

一、openEuler的安装

安装很简单,基本和Centos一样,只是需要注意的一点是,安装时候选择最小安装时把基本那项勾选上,不然后面常用的tools还得一个个装回去,太蛮烦。

官方文档的网络配置很详细,我这边直接用nmtui命令,系统安装时候我设置了静态IP,只要激活下网卡,重启后就正常可用了。配置好网络后,更新下系统,这个基本属于开箱即用的,openEuler的默认源速度还是可以的,所以没有修改就直接用了。

二、openEuler安装个cockpit

openEuler默认是安装cockpit,所以只要start一下就可以了

使用命令:systemctl start cockpit

加入开机启动:systemctl enable cockpit.socket

cockpit默认端口为9090,防火墙默认没有开放,需要在防火墙添加下9090端口

使用命令:firewall-cmd –zone=public –add-port=9090/tcp

浏览器方位 https://IP:9090 即可正常访问,账号密码为系统账号密码

二、openEuler安装docker

一条命令就可以了:yum install docker

docker安装完毕,查看下docker的版本,openEuler默认是18.09.0的版本。

三、在docker 安装Portainer

Portainer 是docker的一个图形化管理工具,可以用来快速部署docker容器,查看日志等功能,强烈推荐和我一样的新手安装。

安装命令:

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name portainer portainer/portainer

防火墙添加下 9000端口:firewall-cmd –zone=public –add-port=9000/tcp