Ansible解锁便捷运维新方式,内网 NAS 也能远程管

Ansible 的核心功能是通过 "剧本" 形式对多台远程设备执行批量操作,小到创建文件、新建目录,大到软件部署、系统配置,都能无需代理、通过 SSH 协议完成,是一款兼顾灵活性和易用性的自动化运维工具。

作为长期使用 Ansible 管理多台 NAS 设备的运维人员,最直观的感受是它能把重复的手动操作变成可复用的代码,比如之前给 10 台 NAS 逐个创建备份目录要花 1 小时,现在写好 "剧本" 一键执行,几分钟就能完成,而且能避免手动操作的疏漏,极大提升了日常运维的效率。

在未使用 cpolar 前,Ansible 只能在局域网内管控 NAS,比如在家能轻松批量调整 NAS 设置,但出差时想处理紧急的文件备份任务,就只能等回到公司或家里;接入 cpolar 后,无需公网 IP 就能让 NAS 被外网访问,现在不管是在高铁上用 Ansible 给家里 NAS 创建新的媒体文件目录,还是在外地给公司 NAS 批量更新软件,都能随时操作,彻底摆脱了局域网的束缚,日常工作中像临时调整 NAS 权限、同步文件这类需求,都能即时响应,不用再等回到内网环境。

教程已为各位老师准备好喽!就在下面!就在下面!!

1.在Centos7上安装ansible

更新所有系统软件包:

shell 复制代码
 yum update -y 

安装EPEL仓库(提供 Ansible 包):

shell 复制代码
 yum install -y epel-release

安装ansbile:

验证是否安装成功:

shell 复制代码
ansible --version

2.使用ansible操作飞牛os

未安装飞牛的小伙伴可以参考这篇文章:https://www.bilibili.com/video/BV1o3sheAEwB/?spm_id_from=333.1387.search.video_card.click

进入到ansible安装目录:

shell 复制代码
cd /etc/ansible

进入到hosts文件夹,用于定义Ansible将要管理的目标主机及其相关属性。这个文件告诉Ansible哪些机器需要被操作以及如何连接到这些机器。

我这里添加的是:

shell 复制代码
[dbservers]
192.168.42.140 ansible_user=root ansible_port=22 ansible_password=******

dbservers:便于引用

192.168.42.140:飞牛IP

ansible_user:用户名

ansible_port:端口

ansible_password:密码

验证一下,所写目标是否可以ping通:

shell 复制代码
ansible dbservers -m ping

若出现下面的报错:

去需要远程的主机,检查:

shell 复制代码
sudo vi /etc/ssh/sshd_config

确保以下行未被注释,并设置为 yes:

shell 复制代码
PasswordAuthentication yes
PermitRootLogin yes

保存文件后重启 SSH 服务以应用更改:

shell 复制代码
 systemctl restart sshd

这样就可以啦!

接下来我们写一个文件,写上我们想对飞牛操控的命令,例如我这里想在/tmp下创建一个haha文件:

shell 复制代码
vi /etc/ansible 1.yml
shell 复制代码
---
- name: 创建文件
  hosts: dbservers
  become: yes
  tasks:
    - name: 创建/tmp/haha文件
      file:
        path: /tmp/haha
        state: touch

运行1.yml:

shell 复制代码
ansible-playbook 1.yml --ask-pass

连接飞牛上,查看:

shell 复制代码
ls /tmp

我们可以看到haha文件已经创建好啦,这样我们就成功的操控飞牛啦!

3.在飞牛os上安装cpolar

现在我们已经可以用ansible操控飞牛啦!但是还有个问题------如果不在一个局域网怎么办呢?别担心!这时候就需要我们的内网穿透神器Cpolar!它能帮你把本地的服务发布到公网上,让它帮你把本地的服务发布到公网,从而实现随时随地都能操控飞牛云!

首先打开飞牛云NAS设置界面,开启ssh 连接,端口默认为22即可,开启后,我们就可以ssh 连接飞牛云NAS执行命令:

然后我们通过输入飞牛云NAS的IP地址ssh远程连接进去,因为fnOS是基于Linux 内核开发的,所以我们可以按照cpolar的Linux安装方法进行安装:

连接后执行下面cpolar Linux 安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

再次输入飞牛云nas的密码确认后即可自动安装

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

shell 复制代码
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入飞牛云主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用官网注册的账号登录,登录后即可看到配置界面,接下来在web界面配置即可:

4.配置公网地址

通过配置,你可以在本地 WSL 或 Linux 系统上运行 SSH 服务,并通过 Cpolar 将其映射到公网,从而实现从任意设备远程连接开发环境的目的。

  • 隧道名称:可自定义,本例使用了:ssh,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:192.168.42.137:22
  • 端口类型:随机临时TCP端口
  • 地区:China Vip

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。

  • tcp 表示使用的协议类型

  • 2.tcp.cpolar.top是 Cpolar 提供的域名

  • 13126是随机分配的公网端口号

通过 Cpolar 提供的公网地址和端口,使用 SSH 协议从任意一台主机操控飞牛啦!

接下来我们操作一下。

修改hosts配置文件:

shell 复制代码
[dbservers]
2.tcp.cpolar.top ansible_user=root ansible_port=13126 ansible_password=***

添加一个文件,写入下列内容:

shell 复制代码
vi /etc/ansible/2.yml
shell 复制代码
---
- name: 创建文件
  hosts: dbservers
  become: yes
  tasks:
    - name: 创建/vol2/1000/shan 目录
      file:
        path: /vol2/1000/shan
        state: directory

运行:

shell 复制代码
ansible-playbook 2.yml --ask-pass

创建成功:

打开飞牛,我们也可以看见创建的文件夹shan。

5.保留固定TCP公网地址

使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。

选择区域和描述:有一个下拉菜单,当前选择的是"China VIP"。

右侧输入框,用于填写描述信息。

保留按钮:在右侧有一个橙色的"保留"按钮,点击该按钮可以保留所选的TCP地址。

列表中显示了一条已保留的TCP地址记录。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道ssh,点击右侧的编辑

修改隧道信息,将保留成功的TCP端口配置到隧道中。

  • 端口类型:选择固定TCP端口
  • 预留的TCP地址:填写保留成功的TCP地址

点击更新

创建完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的TCP地址。

最后测试一下固定的地址是否好用,测试命令:

shell 复制代码
ssh -p 12648 root@6.tcp.vip.cpolar.cn

这样,我们就可以利用ansible随时随地操控飞牛啦!

总结

Ansible 简化了设备管理的操作流程,cpolar 则突破了网络地域的限制,二者结合让 NAS 管理更灵活。普通用户或运维人员都能按需远程操控设备,让工作和生活中的设备管理更省心、高效。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。

相关推荐
zzzzzz3101 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz5 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化