你的NAS真的安全吗? 如何确保NAS的安全性
前言 前几年因为某些网盘的一些问题让一个名叫 NAS 的东西得到了广泛的普及,这种个人存储设备除了在家里使用外有不少用户使用各种方法实现在家外同样可以访问家中的存储设备,例如群晖的QC,飞牛的FN Connect等等,这些用起来确实很方便,但是也有很大的安全隐私风险,尤其是拥有公网Ip的用户,很多用户直接使用 DMZ 将内网NAS暴露到公网中,很多黑客会对某个Ip段的一些高危端口进行扫描攻击,密码穷举,例如 SMB的445端口,NFS的2049/111端口等,这些都是比较常见的高危端口,SMB协议曾因永恒之蓝漏洞被“WannaCry”勒索病毒利用,导致全球范围的大规模攻击。而NFS的111端口是RPC远程过程调用服务的默认端口,2049端口是NFS服务的默认端口,攻击者可通过这些端口获取NFS共享信息,进而进行未经授权的数据访问、信息泄露或未受监控的文件传输,还有 SSH,RDP端口,搭建过网站或者用过云服务器的大概都知道,只要你的主机开着22端口 3389端口,很大的几率会别人扫到并且对你进行弱密码攻击,,,更不用说 SMB...
自建Bitwarden密码管理器
相信大家都用过很多密码管理器,例如使用 Google Edge 浏览器登录了某个网站,提示是否保存密码,方便下次登陆,如果您点击保存密码他会将您的账号保存到 Google,或者 Microsoft账号中,但是这仅限于浏览器中,而且数据不在自己手中,现在我给大家推荐一个可以私有化部署,全平台自动同步的密码管理软件,Bitwarden,下面是详细搭建教程 环境准备首先需要安装 Docker,如果不会安装请参考:Docker安装教程 搭建这里使用的是 Rust 编写的非官方 Bitwarden 兼容服务器,以前称为 bitwarden_rs GitHub:https://github.com/dani-garcia/vaultwarden 使用Docker进行安装 12345docker run --detach --name vaultwarden \ --volume /data/vaultwarden/:/data/ \ --restart unless-stopped \ --publish 81:80 \ ...
Hexo Deploy 使用 GitHub WebHook 更新文章
最近“心血来潮” 将博客网站迁移到了 Hexo,但是 Hexo 部署到 服务器后,由于我是多服务器+Vercel的环境,为了方便,就想了一个办法,实现了与Vercel一样的功能,使用 GitHub WebHook ,下面介绍一下实现过程 1. 先介绍一下什么是什么是 WebhookWebhook 是一种基于 HTTP 回调的机制,允许应用在特定事件发生时向指定 URL 发送 POST 请求,从而触发后续操作。例如,GitHub Webhook 可在代码推送时触发,这里我设置了一台主服务器,通知服务器通过脚本拉取最新代码完成部署,然后同步到其他服务器中 2. Webhook 服务器配置这里为了方便使用 Express写了个 Webhook 服务器,监听 GitHub 推送事件,并执行部署脚本。 2.1 安装 Node.js 环境可以参考我的另一篇文章: https://www.wanghaoyu.com.cn/archives/linux-nodejs-deploy.html? 2.2 创建 Webhook 服务器在你的hexo目录下安装express以及相关依赖 1pnpm...
本地部署 DeepSeek-R1 模型全攻略
DeepSeek-R1 作为一款性能卓越的开源推理模型,凭借其在数学、代码和逻辑推理任务上的出色表现,吸引了众多开发者的关注,这篇文章带大家使用 Ollama 部署 DeepSeek-R1 本地模型 目录[TOC] 首先 我们需要了解一下,什么是 Ollama ? Ollama 简介 Ollama 是一个快速、轻量且易于使用的开源 AI 代理框架,由 Facebook 开发,可以用来托管和运行各种语言模型(LLM),可以实现在您的硬件设备快速部署各种本地大模型,并且提供了一个简单命令行界面,方便用户快速部署。 既然现在已经了解了 Ollama是干嘛的,那么接下来就是在你的操作系统中安装 Ollama了 安装OllamaWindows访问 Ollama官网 下载Windows版本安装即可 Linux 操作系统在你的终端中执行如下命令 1curl -fsSL https://ollama.com/install.sh | sh Docker安装在 Linux操作系统中也可以通过 Docker进行安装 Ollama如果您需要配置 Ollama...
Helm 部署 nfs-subdir-external-provisioner
在 Kubernetes 集群中,可以通过 Helm 部署 nfs-subdir-external-provisioner 来动态管理持久卷,这是一个存储资源自动调配器,可以将现有的 NFS 服务器通过持久卷声明来支持 持久卷的动态分配 前置条件: NFS服务器正常运行并且能够与集群通信 安装 Helm 集群正常运行 添加仓库将 nfs-subdir-external-provisioner 的 Helm 仓库添加到本地 12helm repo add nfs-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisionerhelm repo update 部署下载nfs-subdir-external-provisioner的 chart 到本地 1helm pull nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --untar 编辑其目录中的 values.yaml...
PVE删除Local-lvm存储空间并合并到local中
1、合并存储删除local-lvm存储空间首先,需要删除local-lvm存储空间中的逻辑卷 1lvremove pve/data 将释放出来的空间合并到pve/root逻辑卷中 1lvextend -l +100%FREE -r pve/root 这样会将所有空闲的空间(+100%FREE)扩展到pve/root逻辑卷中,-r`参数会自动调整文件系统的大小,以匹配逻辑卷的新大小。 web界面删除local-lvm数据中心-存储-删除local-lvm 编辑local,内容里添加 磁盘映像和容器就可以了 注意:在执行删除以及合并操作之前务必先检查 local-lvm 中是否存在现有虚拟机,一旦删除数据无法恢复,如果物理磁盘较小可以将虚拟机的镜像文件copy出来然后在执行操作
解决Bash 脚本换行符问题
最近写了一个shell脚本,,是在Windows系统下写的,编写完成后复制到Linux系统中执行时报错了,大概是这样,,, 12345678build.sh: line 3: $'\r': command not found: invalid option set: -set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]build.sh: line 6: $'\r': command not foundbuild.sh: line 11: $'\r': command not foundbuild.sh: line 18: $'\r': command not foundbuild.sh: line 20: syntax error near unexpected token `$'{\r'''ild.sh: line 20: `setup_install()...
使用ddns-go动态域名解析,轻松访问内网设备
部署ddns-go,轻松访问家里nas 这几天有小伙伴问我,入坑了飞牛NAS,如何解决远程访问的问题,如果要想在外面访问家里的nas,要么就是通过内网穿透或者其他各种异地组网的方式来访问nas,例如通过OpenXXX,CloudFlare,自建FRP,NPS等内网穿透工具进行访问,或者是通过IPV4/IPV6直接连接家里设备,目前家里有公网V4以及V6地址,但是宽带一旦短线重连就无法通过原有的IP地址访问,因为IP地址是动态的而非静态IP,一旦重连IP就会发生变化,有些地区可能24小时就会强制下线重新过去地址,这篇文章将介绍一下如何使用DDNS-GO动态域名解析来解决IP地址变动的问题。 前置条件 需要准备一个域名,国外注册商推荐将dns设置为cloudflare使用,国内注册商推荐使用阿里云,不推荐使用腾讯云。 安装DDNS-GO 下面我会用飞牛OS进行演示 在飞牛的 Docker 套件中搜索 DDNS-GO 并下载,镜像标签默认即可 下载完成后在本地镜像中去创建该容器,并设置为开机自启 端口如果没有特殊需求的话保持默认即可 创建成功就可以访问你的...
RustDesk内置ID服务器,Key教程
RustDesk内置ID服务器,Key教程 首先需要准备一个域名,并将其指定到你的 rustdesk 服务器 ip 地址上,这里编译采用的是Github Actions ,说白了是就workflows,可以创建一些自动化的工作流程,例如代码的检查,测试,构建,发布等,如果对此不清楚的话建议先去稍微的那么学习一下 我们需要将官方仓库作为模板导入你的仓库中, 复制官方的github仓库地址:https://github.com/rustdesk/rustdesk/,将其导入到你的github中 找到你的仓库并配置Actions权限 为 Actions 配置工作流 这里我们需要定义三个变量, RENDEZVOUS_SERVERS ID服务器 RS_PUB_KEY 你的KEY API_SERVER API服务器 接下来在仓库的 Actions 中找到 Flutter Nightly build,点击Run...
Hmailserver 汉化教程
添加语言选项首先到你的Hmailserver 安装目录,X:\Program Files (x86)\hMailServer\Languages,添加一个名为...