1、主控端伺服器安裝
主控端部署在主機liuyazhuang121上,用過yum方式安裝,如下:
# yum install func -y
# /sbin/chkconfig --level 345 certmaster on
在裝置通訊上func要求使用主機名來識別,在主控端配置如下:
【/etc/hosts】
192.168.209.121 liuyazhuang121
192.168.209.122 liuyazhuang122
192.168.209.123 liuyazhuang123
修改/etc/certmaster/minion.conf的certmaster引數,指向證書伺服器,即主控端伺服器,funuc命令
用到此配置,如:
【/etc/certmaster/minion.conf】
# configuration for minions
[main]
certmaster = liuyazhuang121
certmaster_port = 51235
log_level = debug
cert_dir = /etc/pki/certmaster
啟動證書服務:
/sbin/service certmaster start
配置iptables,開通192.168.209.0/24網段訪問證書服務51235(certmaster服務)埠。
# iptables -i input -s 192.168.209.0/24 -p tcp --dport 51235 -j accept
至此,主控端配置完畢。
2、被控端伺服器安裝
被控端部署在主機名為liuyazhuang122、liuyazhuang123的裝置上,同樣通過yum方式安裝,如下:
# yum install func -y
# /sbin/chkconfig --level 345 funcd on
配置hosts資訊:
【/etc/hosts】
192.168.209.121 liuyazhuang121
192.168.209.122 liuyazhuang122
192.168.209.123 liuyazhuang123
修改/etc/certmaster/minion.conf的certmaster引數,以便指向證書伺服器發出簽名請求,建立信任關係,如:
【/etc/certmaster/minion.conf】
# configuration for minions
[main]
certmaster = liuyazhuang121
certmaster_port = 51235
log_level = debug
cert_dir = /etc/pki/certmaster
修改/etc/func/minion.conf的minion_name引數,作為被控主機的唯一標識,一般使用主機名,以liuyazhuang122為例,配置如下:
【/etc/func/minion.conf】
# configuration for minions
[main]
log_level = info
acl_dir = /etc/func/minion-acl.d
listen_addr =
listen_port = 51234
minion_name = liuyazhuang122
method_log_dir = /var/log/func/methods/
啟動func服務:
# /sbin/service funcd start
配置iptables,開通192.168.209.121主控端主機訪問被控端主機51234(func服務)埠,
# iptables -i input -s 192.168.209.121 -p tcp --dport 51234 -j accept
至此,被控端配置完畢。
3、證書簽名
在主控端執行certmaster-ca --list獲取當前請求證書簽名的主機清單,如:
# certmaster-ca --list
liuyazhuang122
liuyazhuang123
證書簽名通過certmaster-ca --sign hostname命令來完成,如:
# certmaster-ca --sign liuyazhuang122
也可以結合--list、--sign引數實現一鍵完成所有主機的簽名操作,如:
# certmaster-ca --sign 'certmaster-ca --list'
func也提供了類似saltstack自動簽名的機制,通過修改/etc/certmaster/certmaster.conf的引數autodsign = no為autosign = yes即可。
使用func "*" list_minions檢視已經完成簽名的主機,如:
# func '*' list_minions
liuyazhuang122
liuyazhuang123
刪除(登出)簽名主機使用certmaster-ca -c hostname,如:
# certmaster-ca -c liuyazhuang122
校驗安裝、任務簽名是否正確,通過func "*" ping命令測試,如下所示:
[root@liuyazhuang121 ~]func "*" ping
[ok ... ] liuyazhuang122
[ok ... ] liuyazhuang123
注意:對已經登出的被控伺服器,要重新註冊,先刪除被控端主機/etc/pki/certmaster/下的證書檔案,再執行certmaster-request進行證書請求,具體引數步驟如下:
# rm -rf /etc/pki/certmaster/主機名.*
# /usr/bin/certmaster-request
函式指標,func與 func的區別
1.函式名,就是函式的首位址,那麼func與 func應該是不一樣的,偶然看到別人說兩種用法一樣,所以決定試一試。2.環境配置,vscode 模組 c c 0.29.0 編譯器 mingw,x86 64 8.1.0x86 64 8.1.0。3.如下 include include include v...
C 委託之Action和Func
一 action和func委託 除了上篇描述的為每個引數和返回型別定義乙個新委託型別之外,還可以使用action和func委託。通過t的標示,我們可以知道這是兩個泛型委託。二 action 其中action委託表示引用乙個void返回型別的方法。這個委託存在不同的變體,可以傳遞最多16種不同的引數型...
Python之requests的安裝
在 windows 系統下,只需要輸入命令 pip install requests 即可安裝。在 linux 系統下,只需要輸入命令 sudo pip install requests 即可安裝。注 關於python第三方庫的安裝最好少使用 easy install,因為 easy install...