Func环境部署
1.主控端服務器安裝
#yum install func -y
#chkconfig --level 345 certmaster on
在設備通信上Func要求使用主機名來識別,在沒有內部域名解析服務的情況下,可通過配置主機hosts來解決主機名的問題。主控端hosts配置如下:
【/etc/hosts】
192.168.2.97? SN2015-02-97
192.168.2.98? SN2015-02-98
192.168.2.96? func.master.server.com
修改/etc/certmaster/minion.conf的certmaster參數,指向證書服務器,即主控端服務器,func命令用到此配置,如:
[/etc/certmaster/minion.conf]
# configuration for minions
[main]
certmaster = func.master.server.com
certmaster_port = 51235
log_level = DEBUG
cert_dir = /etc/pki/certmaster
啟動證書服務:
#service certmaster start
配置iptables,開通192.168.2.0/24網段訪問證書服務51235(certmaster服務)端口。
# iptables -I INPUT -s 192.168.2.0/24 -p tcp --dport 51235 -j ACCEPT
至此,主控端配置完畢。
2.被控端服務器安裝
被控端部署在主機名為SN2015-02-97 SN2015-02-98的設備上,同樣通過yum方式安裝,如下
#yum install func -y
#chkconfig --level 345 funcd on
配置hosts信息:
192.168.2.96 func.master.server.com
修改/etc/certmaster/minion.conf的certmaster參數,以便指向證書服務器發出簽名請求,建立信任關系,如:
[/etc/certmaster/minion.conf]
# configuration for minions
[main]
certmaster = func.master.server.com
certmaster_port = 51235
log_level = DEBUG
cert_dir = /etc/pki/certmaster
修改/etc/func/minion.conf的minion_name參數,作為被控主機的唯一標識,一般使用主機名,以SN2015-02-97主機為例,配置如下:
# configuration for minions
[main]
log_level = INFO
acl_dir = /etc/func/minion-acl.d
listen_addr =
listen_port = 51234
minion_name = SN2015-02-97
method_log_dir = /var/log/func/methods/
啟動func服務:
# service funcd start
配置iptables,開通192.168.2.96主控端主機訪問本機51234(func服務)端口。
#iptables -I INPUT -s 192.168.2.96 -p tcp --dport 51234 -j ACCEPT
至此,被控端配置完畢。
3.證書簽名
在主控端運行certmaster-ca --list獲取當前請求證書簽名的主機清單,如:
# certmaster-ca --list
SN2015-02-97
SN2015-02-98
證書簽名通過certmaster-ca --sign hostname命令來完成,如:
# certmaster-ca --sign SN2015-02-97
當然,也可以結合--list --sign參數實現一鍵完成所有主機的簽名操作,如:
# certmaster-ca --sign 'certmaster-ca --list'
Func也提供了類似Saltstack自動簽名的機制,通過修改/etc/certmaster/certmaster.conf的參數autosign = no 為autosign = yes 即可。
使用func "*" list_minions查看已經完成簽名的主機名,如:
# func '*' list_minions
SN2015-02-97
SN2015-02-98
刪除(注銷)簽名主機使用certmaster-ca -c hostname,如:
# certmaster-ca -c SN2015-02-97
校驗安裝、任務簽名是否正確,通過func '*' ping命令來測試,如:
func '*' ping
[ ok ... ] SN2015-02-97
[ ok ... ] SN2015-02-98
注意:對已注銷的被控服務器,要重新注冊,先刪除被控主機端/etc/pki/certmaster/下的證書文件,再運行certmaster-request進行證書請求,具體操作步驟如下:
# rm -rf /etc/pki/certmaster/主機名.*
# /usr/bin/certmaster-request
轉載于:https://blog.51cto.com/sandyhuang/1618093
總結
- 上一篇: 【亚马逊AWS】入门级别实践
- 下一篇: Android仿微信图片上传,可以选择多