func全称 Fedora Unified Network Controller(统一网络控制器) ,主要用在Radhat, Fedora,OpenSuse,Centos系列系统上由一个server管理任意台服务器的工具,建立了Master-Slaves 主从SSL证书管控体系,可以将证书自动分发到所有受控服务。func直接发送远程命令或者远程获取数据,但是只适用于一些常用功能的模块的操作,实现其它功能需要自己写Python API。Func 可以让你在主控机上一次管理任意多台服务器,或任意多个服务器组。Func 命令行可以直接发送远程命令或者远程获取数据。Func 通讯基于 XMLRPC 和 SSL 标准协议。新装服务器也可以在 Kickstart 文件中自动安装 Func,自动注册到主控服务器。func基于主控端与被控端,建立了Master-Slaves主从SSL证书管控体系,可以将证书自动分发到所有受控服务器。
实验环境:Master端发行版SUSE Linux Enterprise Server 9 (x86_64)。内核版本2.6.16.60-0.21;Slaver端发行版SUSE Linux Enterprise Server 10 (x86_64)。内核版本2.6.16.60-0.69。
所需要的安装包:
说明:因为python2.4对func支持的不好,所以这里我编译安装一个python2.5.如果机器上的python版本已经高于python。那么可以不用安装这一个包。pyOpenSSL是python的支持ssl协议的模块,master端可slaver端通信用到。certmaster认证服务器。master对slaver的认证需要用到。func主程序。
1、编译安装Python2.5
#tar zxvf Python-2.5.2.tgz
#cd Python-2.5.2
#./configure
#make && make install
python的主程序会被安装在/usr/local/bin/python2.5.
2、安装pyOpenSSL
#tar zxvf pyOpenSSL-0.9.tar.gz
#cd pyOpenSSL-0.9/
#python2.5 setup.py install
3、安装certmaster
#tar xzvf certmaster-0.28.tar.gz
#cd certmaster-0.28
#python2.5 setup.py install
4、安装func
#tar zxvf func-0.28.tar.gz
#cd func-0.28
#python2.5 setup.py install
分别在Master和Slaver端进行func的安装。
Master:snode8 10.0.31.40 slaver:gv220 10.0.31.220;在master和slaver端的hosts文件里添加如下内容:
snode8 10.0.31.40
gv220 10.0.31.220
1、Master端配置
1.1、修改修改/etc/init.d/certmaster文件中低28、29行的PROCESS和DAEMON变量的值为/usr/local/bin/certmaster。如图:
1.2、修改/etc/certmaster/minion.conf文件中certmaster的值为master的主机名。如图:
1.3、修改/etc/func/minion.conf文件中minion_name变量值为自己的主机名。如图:
2、Slaver端配置
2.1、修改/etc/certmaster/minion.conf文件中的certmaster变量的值为master的主机名。如图:
2.2、修改/etc/func/minion.conf文件中变量minion_name的值为自己的主机名。如图:
2.3、Master端重启certmaster和funcd服务。如图:
2.4、Slaver端重启funcd服务。
2.5、 安装完成后,slaver端会自动向master申请证书,可在master端通过certmaster-ca –l命令查看申请证书的slaver列表:
由于这里gv220已经申请过证书并进行签名过了 所以这里显示没有代申请的列表。可以通过certmaster-ca --list-sign命令或者ls -l /var/lib/certmaster/certmaster/certs/查看已经签名的客户端。
2.6、至此func就安装完成了,想简单测试一下:在远程主机上执行命令。如图:
结束:不过这个回车符不起作用了,貌似不好看。