简介:
func: fedora 上的统一网络控制器
func为我们带来了什么:
· 你曾经试图命令或查询的系统大量使用SSH? 你想要一个更好的办法?
·你需要一个方法来审核你的系统你所有的远程命令呢?
·厌倦了编写shell脚本和解析命令的输出?
·你是美联储通过CIM,WBEM的,复杂的通信系统,防止doing /real/ work??
·那么我们有没有给你买了一个解决方案。 它的 功能 。
func几乎可以解决运维上任何问题:
一个方案,系统和一些工具,需要大量的沟通方式。功能提供了一种双向认证的统称做这些事情的排序制度。你可以建立自己的在顶部,这样,很容易扩大应用在其他模块添加功能,无论你 希望通过这些工作func命令行或其他一些应用的手段。如果你只是想用命令行的功能,这是伟大的。如果你想建立应用程序的功能工具,那也很好。如果这听起来很笼统空泛,它只是因为它确实是容易扩展。
下载源码:
git clone git://git.fedorahosted.org/certmaster.git git clone git://git.fedorahosted.org/func.git 或者: wget https://fedorahosted.org/releases/f/u/func/func-0.27.tar.gz wget https://fedorahosted.org/releases/c/e/certmaster/certmaster-0.27.tar.gz
#修改 master机器 hosts
127.0.0.1 localhost 127.0.1.1 mysql 127.0.1.1 certmaster 192.168.6.161 master 192.168.6.160 minions
#修改 minions机器 hosts
127.0.0.1 localhost 127.0.1.1 slave 192.168.6.161 master 192.168.6.160 minions
以git 为例:
安装 func
master $> cd func master $> make clean master $> make install master $> cd ..
安装certmaster
master $> cd certmaster master $> make clean master $> make install
#修改配置文件:
master $> vim /etc/certmaster/certmaster.conf
[main] autosign = no listen_addr = listen_port = 51235 cadir = /etc/pki/certmaster/ca cert_dir = /etc/pki/certmaster certroot = /var/lib/certmaster/certmaster/certs csrroot = /var/lib/certmaster/certmaster/csrs cert_extension = cert sync_certs = False
master $> vim /etc/certmaster/minion.conf
[main] certmaster = certmaster certmaster_port = 51235 log_level = DEBUG cert_dir = /etc/pki/certmaster
minions 机器上安装master的安装步骤。
配置:
minions $> vim /etc/certmaster/minion.conf
[main] certmaster = master #对应master 和minions hosts文件 的名字或者IP地址 certmaster_port = 51235 log_level = DEBUG cert_dir = /etc/pki/certmaster
minions $> vim /etc/func/minion.conf
[main] log_level = INFO acl_dir = /etc/func/minion-acl.d listen_addr = listen_port = 51234 #端口与master 一致 minion_name = minions #这个名字就是master和minions里定义的名字。 method_log_dir = /var/log/func/methods/
在 master 启动服务
master $> /etc/init.d/certmaster start
在minions 端启动服务
minions $> /etc/init.d/funcd start
master端操作
查看为签发证书列表:
master $> certmaster-ca --list
minions
为客户端签发证书:
master $> certmaster-ca --sign minions
#OK 可以使用了
例子:
master $> func '*' ping
[ ok ... ] minions
master $> func "*" call command run "date"
('minions', [0, 'Fri Jan 21 16:13:09 CST 2011\n', ''])
本文转自Deidara 51CTO博客,原文链接:http://blog.51cto.com/deidara/484884,如需转载请自行联系原作者