簡介:
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
master $> func '*' ping
[ ok ... ] minions
master $> func "*" call command run "date"
('minions', [0, 'Fri Jan 21 16:13:09 CST 2011\n', ''])