项目背景:
为了更好的管理我们企业中小型服务器,我们需要一个统一的网络控制器Func去进行远程命令执行、文件分发的工作。同时我们可以方便的自己定义适合我们企业需要的模块。
实验环境:
vmware workstation 11
centos6.5的系统下
Func服务器:ip:192.168.0.15 防火墙关闭 setenforce 0
Func被控端: ip:192.168.0.44 防火墙关闭 setenforce 0
SecureCRT (ssh远程连接软件)
软件介绍:
Func是由红帽子公司以Fedora平台构建的统一网络控制器,是为了解决集群管理、监控问题而设计开发的系统管理基础框架,易于学习、使用和扩展。
软件特点:
Func的特点有:
1、Func可以在主控机上一次管理任意多台或任意多个服务器组。
2、Func基于Certmaster(https://fedorahosted.org/certmaster/)建立了Master-Slaves主从SSL证书管控体系,可以将证书自动分发到所有受控服务器。
3、Func命令行可以直接发送远程命令或者远程获取数据。
4、Func 开发者已经完成了大多数常用任务模块的开发,包括命令执行模块、文件传输模块、IPtables模块、查看硬件信息模块、Mount模块、进程模块、服务模块、重启系统模块等。
5、可以通过Func提供的Python API轻松编写扩展模块,以实现具体功能扩展。而且任何Func命令行能完成的工作,都能通过API编程实现。
6、Func通讯基于XMLRPC和SSL标准协议。
实验过程:
一、主控端服务器安装
yum install -y func
二、主控端/etc/hosts文件修改
[root@Master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.15 Master #主控端
192.168.0.44 minion #被控端
三、主控端/etc/certmaster/minion.conf配置文件修改
四、在主控端启动证书服务
service certmaster start
五、主控端防火墙关闭,selinux宽容模式
1、service iptables stop
2、setenforce 0
六、被控端服务器端安装
[root@minion ~]# yum install -y func
七、被控端/etc/hosts文件修改
[root@minion ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.15 Master
192.168.0.44 minion
八、被控端/etc/certmaster/minion.conf配置文件修改
九、被控端/etc/func/minion.conf配置文件修改
十、被控端启动func服务
[root@minion ~]# service funcd start
Starting func daemon: [ OK ]
十一、被控端防火墙关闭,selinux设置成宽容模式
十二、主控端获取所有的证书请求的主机清单
certmaster-ca --list
十三、主控端给被控端进行证书签名
certmaster-ca --sign minion
十四、查看已经签名成功的主机
[root@Master ~]# func '*' list_minions
minion
十五、对被控端证书签名以后我们就可以正常操作被控端了。
十六、主控端向目标主机拷贝文件
1、在主控端执行下面的命令
[root@Master ~]# func "minion" copyfile -f fuchao.txt --remotepath /home/fuchao.txt
2、在被控端查看我们远程拷贝过去的文件
[root@minion ~]# ls -al /home/fuchao.txt
-rw-r--r--. 1 root root 0 Apr 6 20:06 /home/fuchao.txt
十七、获取远程主机的cpu信息
十八、查看远程主机的磁盘分区信息
十九、查看远程主机系统硬件信息
二十、远程主机系统服务管理
1、主控端执行
2、被控端服务状态查看
[root@minion ~]# service httpd status
httpd (pid 2767) is running...
项目总结:Func部署简单,灵活易用。而且模块可以灵活的定义、发布、和使用。对与中小型企业的服务器管理来说它是个好帮手。希望大家都能有所进步。