全网SSL证书的自动更新
在运维实践中,SSL证书的维护也是值得重视的运维工作,特别是现在的普通商业SSL证书都变成2年期和1年期了。这里就需要专门抽时间来进行证书有效期监控和对各种CDN、云服务商、ECS进行证书更新维护。ohttps就是专门提供这个服务的saas服务商,这里有完整的介绍。 原理 使用certbot类似方案申请 **Let’s Encrypt**的域名证书 该网站集成了多个云服务商的SDK,通过对应API来修改dns记录、添加托管SSL证书 通过调用API来实现证书的自动更新 使用授权 获取阿里云、七牛等云服务商的 Access Key...
BareOS,一个完整的开源备份方案
介绍BareOS 是一个基于Bacula这个开源备份软件进行frok和二次开发的企业级备份软件。Bareos的团队位于德国,主要开发人员是从SUSE出来创业的老头子,他们首先通过的兼容性认证的也是SUSE的。BareOS相对于Bacula而言,功能强化了管理和对插件的支持,并提供了官方的web管理控制台。需要注意的是,BareOS的repo是区分商业版和社区版的,商业版使用.com的域名,社区版使用.org域名。 有关于Bacula的部署和使用,可以看这里 2023.10 摄于北京延庆 部署 主机名 IP地址 任务角色 BareOS 192.168.10.250 备份服务器 Client 192.168.10.101 备份客户端 安装软件1234567891011121314# 安装备份软件wget https://download.bareos.org/current/EL_9/add_bareos_repositories.shsh ./add_bareos_repositories.shdnf makecachednf -y install...
使用Pritunl构建企业远程接入系统
pritunl是一个开源的企业级分布式远程接入服务器。它的社区版就是单机版,开源、免费,同时支持图形化的管理界面。它在高级版中可以通过RADIUS服务支持Openldap或者Active Directory的用户管理,只不过需要每个月70$的授权费用。 官方文档 Github项目地址 部署123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354# 系统环境为AlmaLinux 8.8# 系统需要关闭selinux,以下使用root账户进行安装tee /etc/yum.repos.d/mongodb-org-6.0.repo << EOF[mongodb-org-6.0]name=MongoDB...
如何编写Shell脚本
从这里开始书写格式12345678910111213#!/bin/bash# 解释器<<COMMENTAuthor: sujxDate: 2023-09-23Version: 1.0Description: This is my first script.COMMENT# 多行注释echo "Hello World!"# 单行注释 执行方式 脚本没有执行权限 1234[sujx@LEGION:~]$ bash first.shHello World![sujx@LEGION:~]$ source first.shHello World! 脚本有可执行权限 12345[sujx@LEGION:~]$ chmod +x first.sh[sujx@LEGION:~]$ ./first.shHello World![sujx@LEGION:~]$ /home/sujx/first.shHello World! 开启子进程执行 123456789101112131415161718[sujx@LEGION:~]$ cat...
使用Webmin管理DNS
在企业生产实践中,对于经常进行DNS解析变动的测试环境,Bind9的维护是个不大不小的问题。运维开发通常需要提交相关请求之后,还需要SSH到解析服务器上去进行配置修改,就要开xshell然后登陆找配置项进行变更。为了节约脑力和时间,通过已经添加到导航面板的web gui书签跳转到域名管理平台再进行管理就要快捷一点点。 WebMin为了方便管理DNS解析,我们可以使用Google SRE工程师Jamie Cameron开发的Webmin。这个工具是用perl语言编写的很强大的Linux主机管理面板,支持Linux主机环境的通用程序配置,包括Bind、Apache、MySQL等等。这位老哥还编写了管理虚拟化宿主机和类似cpanle的虚拟主机管理web平台。 安装12345678910111213141516# 下载安装脚本curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh# 添加官方repo地址sh setup-repos.sh#...
快速构建实验环境的基础服务
在单机试验环境中,经常需要配置DNS解析、生成SSL证书、保存或者拉取配置脚本,这些操作往往散布到各个节点的实际操作中,较为繁琐且容易出错,所以创建一个虚机镜像来提供统一的服务就是有需求的。以下就是通过在VM上部署实现相关功能的操作实践。 类别 内容 功能 基础架构服务 主机名 infra.contoso.com IP 192.168.10.254 配置 2core 2G mem 40GB disk 承载服务 DNS以及DNS缓存、时间服务、SSL证书生成和下载、git服务、导航页、Ansible控制台、主机管理 包管理安装主机准备基础环境准备主机环境的准备执行准备:RockyLinux9的主机部署 12345678910111213141516171819202122232425# 系统更新dnf makecachednf update -y# 由于主机模板只给了20G硬盘,所以需要扩容dnf install cloud-utils-growpart-0.33-1.el9.x86_64growpart /dev/sda 2lvextend -l...
Ansible管理平台AWX的部署
概念K3sK3s 是一个轻量级的 Kubernetes 发行版,非常简单易用而且轻量。只需要一个简单的安装脚本即可把 K3s 安装到主机。 AWXAWX是由Redhat运营的Ansible自动化运营平台Ansible Tower的上游项目,是将Ansible的管理和维护通过可视化的WEB GUI来进行展现。借用Ansible Tower的一张图来表示其具体架构:相关的内容可见以下链接: Ansible AWX 由于Ansible AWX平台自v18之后,不在支持单机或者docker部署,要求必须部署到Kubernetes中,为了简化部署环境和步骤,现采用单节点的K3s来作为基础环境部署AWX。 部署环境准备12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879# 本次部署基于RockyLinux 9.2# 主机配置为2core...
安服仔的自我修养
...
备份系统Bacula的部署和使用
Bacula 是一款开源的跨平台网络备份工具,提供基于企业级的CS的备份解决方案,可以对数据进行备份、恢复、以及完整性校验。 组件 Director:中央控制程序,管理所有组件 Console:管理控制台 Storage Daemon:负责文件的实际存储和读取,同时对接存储硬盘或者磁带 Catalog:数据库,建立备份文件和存储路径建立索引,支持MySQL、PG和SQLite File Daemon:客户端程序,负责执行文件的备份、还原和文件传输 部署准备数据库12345678910111213141516171819202122232425262728293031# 安装dnf makecachednf update -ydnf install -y mariadb mariadb-server mariadb-server# 指定客户端和服务端使用utf8来访问mariadbcat > /etc/my.cnf.d/charset.cnf <<EOF[mysqld]character-set-server =...