项目背景:

为了更好的管理我们企业中小型服务器,我们需要一个统一的网络控制器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部署简单,灵活易用。而且模块可以灵活的定义、发布、和使用。对与中小型企业的服务器管理来说它是个好帮手。希望大家都能有所进步。