一、Func簡介 func全稱 Fedora Unified Network Controller(統一網絡控制器) ,主要用在Radhat, Fedora,OpenSuse,Centos系列系統上由一個server管理任意台伺服器的工具,建立了Master-Slaves 主從SSL證書管控體系,可以将證書自動分發到所有受控服務。func直接發送遠端指令或者遠端擷取資料,但是隻适用于一些常用功能的子產品的操作,實作其它功能需要自己寫Python API。Func 可以讓你在主要機上一次管理任意多台伺服器,或任意多個伺服器組。Func 指令行可以直接發送遠端指令或者遠端擷取資料。Func 通訊基于 XMLRPC 和 SSL 标準協定。新裝伺服器也可以在 Kickstart 檔案中自動安裝 Func,自動注冊到主要伺服器。func基于主要端與被控端,建立了Master-Slaves主從SSL證書管控體系,可以将證書自動分發到所有受控伺服器。
二、Func安裝 實驗環境:Master端發行版SUSE Linux Enterprise Server 9 (x86_64)。核心版本2.6.16.60-0.21;Slaver端發行版SUSE Linux Enterprise Server 10 (x86_64)。核心版本2.6.16.60-0.69。
所需要的安裝包:
Python-2.5.2.tgz
pyOpenSSL-0.9.tar.gz
certmaster-0.28.tar.gz
func-0.28.tar.gz
說明:因為python2.4對func支援的不好,是以這裡我編譯安裝一個python2.5.如果機器上的python版本已經高于python。那麼可以不用安裝這一個包。pyOpenSSL是python的支援ssl協定的子產品,master端可slaver端通信用到。certmaster認證伺服器。master對slaver的認證需要用到。func主程式。
1、編譯安裝Python2.5
#tar zxvf Python-2.5.2.tgz
#cd Python-2.5.2
#./configure
#make && make install
python的主程式會被安裝在/usr/local/bin/python2.5.
2、安裝pyOpenSSL
#tar zxvf pyOpenSSL-0.9.tar.gz
#cd pyOpenSSL-0.9/
#python2.5 setup.py install
3、安裝certmaster
#tar xzvf certmaster-0.28.tar.gz
#cd certmaster-0.28
4、安裝func
#tar zxvf func-0.28.tar.gz
#cd func-0.28
三、環境配置 分别在Master和Slaver端進行func的安裝。
Master:snode8 10.0.31.40 slaver:gv220 10.0.31.220;在master和slaver端的hosts檔案裡添加如下内容:
snode8 10.0.31.40
gv220 10.0.31.220
1、Master端配置
1.2、修改/etc/certmaster/minion.conf檔案中certmaster的值為master的主機名。如圖:
1.3、修改/etc/func/minion.conf檔案中minion_name變量值為自己的主機名。如圖:
2、Slaver端配置
2.1、修改/etc/certmaster/minion.conf檔案中的certmaster變量的值為master的主機名。如圖:
2.2、修改/etc/func/minion.conf檔案中變量minion_name的值為自己的主機名。如圖:
2.3、Master端重新開機certmaster和funcd服務。如圖:
2.4、Slaver端重新開機funcd服務。
2.5、 安裝完成後,slaver端會自動向master申請證書,可在master端通過certmaster-ca –l指令檢視申請證書的slaver清單:
由于這裡gv220已經申請過證書并進行簽名過了 是以這裡顯示沒有代申請的清單。可以通過certmaster-ca --list-sign指令或者ls -l /var/lib/certmaster/certmaster/certs/檢視已經簽名的用戶端。
2.6、至此func就安裝完成了,想簡單測試一下:在遠端主機上執行指令。如圖:
結束:不過這個回車符不起作用了,貌似不好看。