truenas 篇四:Truenas Scale 23.10设置保姆教程(自动申请证书、邮件报警)
本篇介绍Truenas Scale 23.10的自动申请证书,以及设置邮件报警。自动申请证书,可以让你在外网访问truenas时更加完全;邮件报警,可以让你及时接收系统的异常信息,第一时间进行处置。
一、自动申请证书
1.准备工作
要自动申请证书,首先你要有一个域名,最好是托管到cloudflare。如果无法托管到cloudflare也可以,就是申请证书时候会麻烦一点。同时,要获取域名服务商的API访问密钥。
其次,如果要在局域网中使用域名访问,可以在路由器上进行域名劫持,或者在本地计算机上修改host文件,从而使域名解析到truenas的内网地址;要在外网使用域名访问,如果truenas有固定外网ip的话直接将域名解析到truenas上就行了,不过家用情况更多的是使用ddns解析到路由器上,再进行端口转发。
我这里以内网访问为例,你如果想使用外网访再加一步端口转发就行了。
2.托管到cloudflare上的域名证书申请
(如果你的域名不在cloudflare上,可以直接看下一步的方法)
①添加DNS身份验证器。在Truenas Scale中点击左侧<用户凭证> - <证书>,在打开的证书管理界面中,找到“ACME DNS身份验证器”一栏,点击<添加>:“名称”随便填写一个;“身份验证器”选择cloudflare,选项里面还包括route53、OVH这两个域名服务商,以及shell自定义选项,如果你的域名托管在route53或者OVH的话直接选择相应的就行了;“Cloudflare Email”填写你的登录邮箱;“API密钥”填写你的cloudflare API密钥,不懂怎么获取可以搜索一下教程很多。然后保存。
②添加证书签名请求。在上方“证书签名请求”一栏中点击<添加>,具体填写示例如下
“名称”随便填写一个,可以填写域名方便识别;“类型”选择证书签名请求证书选项全部默认就可以证书主题前面几项随便填都可以,最后一项填写你需要使用的域名额外的约束默认就可以最后确认保存③创建证书。创建证书之前,打开<用户凭证> - <本地用户>,先编辑你的管理用户root或者admin用户,添加上email,否则最后一步填写完不能保存,会提示你添加邮箱。
然后回到“证书”界面,在“证书签名请求”这一栏,找到刚才生成的证书签名请求,点击后面的扳手图标添加证书。
在出现的“创建ACME证书”界面中:“标识符”随便填写一个,为方便识别这里填写域名;勾选“服务条款”;“续签证书天数”默认10天,也就是证书到期前10天会自动续签;“ACME服务器目录URL”选择Let's Encrypt Production Directory;“DNS”那里选择之前创建的cloudflare身份验证器。
点击保存之后就行开始申请证书了。
完成后,在“证书”栏中可以看到新申请的证书。
打开<系统设置> - <常规>界面,在“GUI”栏点击<设置>,“GUI SSL证书”选择新申请的证书,点击保存。
提示“重启网络服务”,勾选“确认”,<继续>。
再使用域名访问,就可以看到安全连接了。
3.托管到其它域名服务商上的域名证书申请
这里以阿里上的域名为例进行演示。
在系统中创建一个数据集存放申请证书的脚本,我创建的数据集名称为acmeScript。
由于接下来的操作需要使用命令行,因此要先ssh连接到truenas。
在<系统设置> - <服务>中启用ssh服务。
接着打开<用户凭证> - <本地用户>,编辑admin用户,勾选“SSH密码登录已启用”。
然后通过termius等工具连接truenas,输入以下命令:
cd /mnt/DATA/acmeScript
sudo git clone https://github.com/acmesh-official/acme.sh.git //回车后需要输入密码
sudo nano acmeShellAuth.sh //回车输入密码后进入nano编辑器
然后复制粘贴以下脚本,注意画框的3个地方要修改为自己的,然后按【ctrl】+【O】,再按【enter】保存,按【ctrl】+ 【X】退出。
这个地方好像无法编辑代码块,我贴在我的博客里了,大家可以直接复制,地址:https://www.nasgeek.cn/acmeshellauth-sh。
然后设置脚本权限,输入命令:
sudo chmod 700 acmeShellAuth.sh
接着添加DNS身份验证器。在<用户凭证> - <证书>界面中,找到“ACME DNS身份验证器”一栏,点击<添加>:“名称”随便填写一个;“身份验证器”选择shell;“Authenticator script”填写脚本路径,/mnt/DATA/acmeScript/acmeShellAuth.sh;“Running user”填写root;后面“超时”和“Propagation delay”都填写120。
保存之后就可以看到多了一个身份验证器。
接下来的操作与上面使用cloudflare申请证书是一样的,请看上面第2部分“托管到cloudflare上的域名证书申请”。
添加证书签名请求,申请证书生成了新的证书系统GUI 证书修改为阿里云域名的证书用阿里云的域名访问,可以看到也是使用了安全连接。
二、邮件报警
打开<系统设置> - <常规>,在“电子邮件”这一栏点击<设置>:“发送邮件方法”选择SMTP;“发信电子邮件地址”填写你的邮箱地址;“发信人名称”随便填写;“邮件发送服务器”、“邮件服务器端口”、“安全”、“SMTP认证”等根据你的邮箱smtp设置填写。
填写好之后,点击<发送测试邮件>,设置正确的话就可以收到如下邮件了:
以后系统的报警信息就会自动发送到你的邮箱了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~