- 本书赞誉
- 前言
- 第一部分 基础篇
- 第1章 系统基础信息模块详解
- 第2章 业务服务监控详解
- 第3章 定制业务质量报表详解
- 第4章 Python 与系统安全
- 第二部分 高级篇
- 第5章 系统批量运维管理器 pexpect 详解
- 第6章 系统批量运维管理器 paramiko 详解
- 第7章 系统批量运维管理器Fabric详解
- 第8章 从零开发一个轻量级 WebServer
- 第9章 集中化管理平台 Ansible 详解
- 第10章 集中化管理平台 Saltstack 详解
- 第11章 统一网络控制器 Func 详解
- 第12章 Python 大数据应用详解
- 第三部分 案例篇
- 第13章 从零开始打造 B/S 自动化运维平台
- 第14章 打造 Linux 系统安全审计功能
- 第15章 构建分布式质量监控平台
- 第16章 构建桌面版 C/S 自动化运维平台
11.1 Func 的安装
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论