返回介绍

11.1 Func 的安装

发布于 2024-01-29 22:54:22 字数 3400 浏览 0 评论 0 收藏 0

Func需要在主控端、被控端部署环境,建议读者采用yum的方式实现部署。目前Func最新版本为0.28,由func、certmaster、pyOpenSSL三个组件组成。下面详细讲解Func的安装步骤。

11.1.1 业务环境说明

为了方便读者理解,笔者通过虚拟化环境部署功能服务器来进行演示,操作系统版本为CentOS release 6.4,自带Python 2.6.6。相关服务器信息如表11-1所示。

表11-1 业务环境表说明

11.1.2 安装Func

1.主控端服务器安装

主控端部署在主机名为SN2013-08-020的设备上,通过yum方式安装,如下:

# yum install func –y
# /sbin/chkconfig --level 345 certmaster on

在设备通信上Func要求使用主机名来识别,在没有内部域名解析服务的情况下,可通过配置主机hosts来解决主机名的问题。主控端hosts配置如下:

【/etc/hosts】

192.168.1.21   SN2013-08-021
192.168.1.22   SN2013-08-022
192.168.1.20   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

启动证书服务:

# /sbin/service certmaster start

配置iptables,开通192.168.1.0/24网段访问证书服务51235(certmaster服务)端口。

# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 51235 -j ACCEPT

至此,主控端配置完毕。

2.被控端服务器安装

被控端部署在主机名为SN2013-08-021、SN2013-08-022的设备上,同样通过yum方式安装,如下:

# yum install func –y
# /sbin/chkconfig --level 345 funcd on

配置hosts信息:

192.168.1.20   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参数,作为被控主机的唯一标识,一般使用主机名,以SN2013-08-021主机为例,配置如下:

# configuration for minions
[main]
log_level = INFO
acl_dir = /etc/func/minion-acl.d
listen_addr =
listen_port = 51234
minion_name = SN2013-08-021
method_log_dir = /var/log/func/methods/

启动func服务:

# /sbin/service funcd start

配置iptables,开通192.168.1.20主控端主机访问本机51234(func服务)端口。

# iptables -I INPUT -s 192.168.1.20 -p tcp --dport 51234 -j ACCEPT

至此,被控端配置完毕。

3.证书签名

在主控端运行certmaster-ca--list获取当前请求证书签名的主机清单,如:

# certmaster-ca --list
sn2013-08-021
sn2013-08-022

证书签名通过certmaster-ca--sign hostname命令来完成,如:

# certmaster-ca --sign sn2013-08-021

当然,也可以结合--list、--sign参数实现一键完成所有主机的签名操作,如:

# certmaster-ca --sign `certmaster-ca --list`

Func也提供了类似Saltstack自动签名的机制,通过修改/etc/certmaster/certmaster.conf的参数autosign=no为autosign=yes即可。

使用func"*"list_minions查看已经完成签名的主机名,如:

# func '*' list_minions
sn2013-08-021
sn2013-08-022

删除(注销)签名主机使用certmaster-ca-c hostname,如:

# certmaster-ca -c sn2013-08-021

校验安装、任务签名是否正确,通过func"*"ping命令来测试,如图11-1所示。

图11-1 测试认证主机的连通性

提示  对已注销的被控服务器,要重新注册,先删除被控主机端/etc/pki/certmaster/下的证书文件,再运3行certmaster-request进行证书请求,具体操作步骤如下:

# rm -rf /etc/pki/certmaster/主机名.*
# /usr/bin/certmaster-request

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文