一 Func簡介
Func 是由紅帽子公司以Fedora統一網絡控制器Func(Fedora Unified Network Controller https://fedorahosted.org/func) ,目的是為了解決這一系列統一管理監控問題而設計開發的系統管理基礎架構,它是一個能有效的簡化我們衆多伺服器系統管理工作的工具,其具備以下優點
1 容易學習,容易使用,更容易擴充
2 功能強大而且配置簡單,
Func 分為master及slave兩部分,master為主要端,slave為被控端,func 是基于XMLRPC和SSL 标準協定
環境要求
Linux 核心為2.6.18
Python2.5以上,系統自帶的python2.3,2.4 對func支援不好
在内網中如果沒有DNS 可以設定hosts 檔案
修改master和slave 端的hosts檔案
echo “192.168.1.48 master.frank.com”>>/etc/hosts
echo “129.168.1.209 client209.frank.com” >>/etc/hosts
二 master 端安裝
1 下載下傳源碼包
2 安裝
tar xf Python-2.5.5.tgz
#cd Python-2.5.5
#./configure && make && make install
#tar xf pyOpenSSL-0.9.tar.gz
#/usr/local/bin/python setup.py install
#tar xf certmaster-0.28.tar.gz
#tar func-0.28.tar.gz
#cd func-0.28
#/usr/bin/python setup.py install
# ln -s /usr/local/bin/certmaster /usr/bin/certmaster
#ln -s /usr/local/bin/certmaster-request /usr/bin/certmaster-request
#ln -s /usr/local/bin/certmaster-ca /usr/bin/certmaster-ca
#ln -s /usr/local/bin/certmaster-sync /usr/bin/certmaster-sync
#ln -s /usr/local/bin/funcd /usr/bin/funcd
#ln -s /usr/local/bin/func /usr/bin/func
#ln -s /usr/local/bin/func-create-module /usr/bin/func-create-module
#ln -s /usr/local/bin/func-inventory /usr/bin/func-inventory
#ln -s /usr/local/bin/func-transmit /usr/bin/func-transmit
#ln -s /usr/local/bin/func-build-map /usr/bin/func-build-map
3 Master 端配置
#cd /etc/certmaster
#vim certmaster.conf
[main]
#自動簽發證書,為了安全禁止自動為slave 簽發證書
autosign = no
#監聽的IP位址
listen_addr =
#監聽的端口
listen_port = 1998
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
#cd /etc/func
#vim minion.conf
[main]
log_level = DEBUG
acl_dir = /etc/func/minion-acl.d
#(Func通訊端口
listen_port = 1999
minion_name =
啟動certmaster 服務
#service certmaster start
三 Slave 端安裝
1 下載下傳源碼包
wget http://pkgs.fedoraproject.org/repo/pkgs/func/func-0.28.tar.gz/332e35c4bf6ac838df3fa8cf00732172/func-0.28.tar.gz
wget http://pkgs.fedoraproject.org/repo/pkgs/certmaster/certmaster-0.28.tar.gz/f5acc9ff1efa34971296e26d794c5b35/certmaster-0.28.tar.gz
wget http://pkgs.fedoraproject.org/repo/pkgs/pyOpenSSL/pyOpenSSL-0.9.tar.gz/5bf282b2d6a03af921920c34079580f2/pyOpenSSL-0.9.tar.gz
wget http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tgz
2 slave 安裝
# tar xf Python-2.5.5.tgz
#cd Python-2.5.5
#./configure && make && make install
#/usr/local/bin/python setup.py install
#tar func-0.28.tar.gz
#ln -s /usr/local/bin/certmaster /usr/bin/certmaster
3 配置
[main]
#監聽的端口要與master 端保持一緻
#vim minion.conf
#要與master 端的func 端口保持一緻
#slave 主機名
minion_name = client209.frank.com
啟動服務
#service certmaster start
#chkconfig certmaster on
#chkconfig funcd on
#service funcd start
四 Master端常用操作
Master 要為slave 簽發證書 ,在slave 上執行
#certmaster-request
在master 端執行certmaster-ca –list 可以檢視目前為簽名的計算機名稱
#certmaster-ca –list
#certmaster-ca –sign client209.frank.com
#certmaster-ca --sign `certmaster-ca --list ` 如證書請求的伺服器比較多,可以這樣一下子搞定。
#certmaster-ca -c frank209.frank.com 删除該主機證書
如果master 和slave開啟了防火牆,需要在slave 主機上對master 開放1998(certmaster),1999(func)端口
Master需要對所有的slave主機開放1998(certmaster)端口
如果master端為slave 端完成了簽名,且在master 執行func 指令出現端口拒絕現象
請關閉slave端的certmaster 服務,并重新開機funcd 服務
本文轉自 freehat08 51CTO部落格,原文連結:http://blog.51cto.com/freehat/944991,如需轉載請自行聯系原作者