天天看點

func install in ubuntu-server

 簡介:

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', ''])