天天看點

系統集中化管理工具之func和certmaster的部署

一 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,如需轉載請自行聯系原作者