cfengine的文档里面都是采用源码安装的,经本人测试后发现源码安装经常会出现莫名奇妙的错误,而使用rpm包则是省时省力的方式。
装 cfengine 需要 openssl 和 Berkely DB 这两个依赖性的包,所以在正式安装cfengine前,必须确认你的系统已经安装了db4, db4-devel,一般来说都是系统自带安装好的.然后就可以下载cfengine了, 下载地址http://dag.wieers.com/rpm/packages/cfengine/cfengine-2.2.2-1.el5.rf.i386.rpm
安装也很简单,rpm –ivh cfengine-2.2.2-1.el5.rf.i386.rpm即可,接下来我们就要着手配置了
在服务器和客户端将cfengine安装完成后,要做下面一些准备工作:
为了完全使用源码方便控制,将服务都禁用掉.
[root@centos1 inputs]# chkconfig cfservd off
[root@centos1 inputs]# chkconfig cfenvd off
[root@centos1 inputs]# chkconfig cfexecd off
然后查看会看到所有cfengine的相关服务都禁用了
[root@centos1 inputs]# chkconfig --list|grep cf
将cfengine的程序复制到bin目录下
mv /var/cfengine/bin/cfagent /var/cfengine/bin/cfagent.link///将原来的链接文件重命名///
cp /usr/sbin/cfagent /var/cfengine/bin
cp /usr/sbin/cfenvd /var/cfengine/bin
cp /usr/sbin/cfexecd /var/cfengine/bin
cp /usr/sbin/cfservd /var/cfengine/bin
我这里先说工作方式二的原因是它的过程简单,而且很能体现cfengine的本质工作流程时需要的条件是:
服务器运行cfservd (这里当然是需要有cfservd.conf配置文件)。然后还有一个正确的策略文件cfagent.conf供客户机下载
客户机使用cfagent运行update.conf的配置,连接到服务器的cfservd进程,下载cfagent.conf来运行。所以我们接下来要在服务器和客户端上创建所需的配置文件:
服务器上:cfservd.conf cfagent.conf
客户端上:update.conf
我们这里将centos1作为服务器(192.168.0.114,为了简洁,文中会简称为114),centos2作为客户端,文中简称为115
1)创建配置文件cfservd.conf
在/var/cfengine/inputs下创建cfservd.conf
|
# cfservd.conf # yahoon 2007.11.1 control: domain = ( yahoon.org ) AllowConnectionsFrom = ( 192.168.0.0/24 ) TrustKeysFrom = ( 192.168.0.0/24 ) AllowUsers = ( root ) MaxConnections = ( 150 ) MultipleConnections = ( true ) #AllowMultipleConnectionsFrom = ( 192.168.0 ) ############################################ admit: #/var/cfengine/rpc_out *.$(domain) 128.39.73 #/file *.$(domain) 128.39.73 /masterfile/inputs 192.168.0. /var/cfengine 192.168.0. |
然后我们就可以启动cfservd服务,执行
/var/cfengine/bin/cfservd –v
同样带上-v参数来查看详细的输出,利于排错
|
…(部分略)… Listening for connections ... cfservd: cfservd starting Fri Nov 2 18:54:49 2007 |
显示是成功的,进一步查看fservd监听的tcp 5308端口
|
[root@centos1 inputs]# netstat -an|grep 5308 tcp 0 0 :::5308 :::* LISTEN |
2)创建策略文件cfagent.conf
这就是我们即将要发布给客户机运行的策略文件,路径同样是在/var/cfengine/inputs下创建,内容如下
|
control: actionsequence = ( shellcommands ) shellcommands: "/bin/echo Danger, Will Robison!" |
3)测试
执行cfagent –v (如果不需要真正执行,可以加上-n参数)
|
…(部分略).. cfengine:centos1: Executing script /bin/echo Danger, Will Robison!...(timeout=0,uid=-1,gid=-1) (Setting umask to 77) cfengine:centos1:/bin/echo Dange: Danger, Will Robison! cfengine:centos1: Finished script /bin/echo Danger, Will Robison! Performance(Exec(/bin/echo Danger, Will Robison!)): time=0.0529 secs, av=0.0536 +/- 0.0231 --------------------------------------------------------------------- Alerts --------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++ Summary of objects involved ++++++++++++++++++++++++++++++++++++++++ global update main cfengine:centos1: Outcome of version (not specified): Promises still kept 0%, Promises repaired 100%, Promises not kept 0% |
运行完全正常,那么就可以将其复制到要发布的目录里面/masterfile/inputs
4)DNS解析
cfservd在做文件传输的时候需要对连接上来的客户机做DNS解析,所以必需要有域名,如果是内部网没有dns服务,就利用/etc/hosts,将客户端加入进来.这里我们选用的域名为yahoon.org,编辑/etc/hosts文件
[root@centos1 inputs]# vi /etc/hosts
|
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 centos1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.115 centos2.yahoon.org |
粗体的部分即为加上的对客户机115的解析,要测试是否成功解析了centos2.yahoon.org十分简单,服务器上ping这个域名就可以了..
|
[root@centos1 inputs]# ping centos2.yahoon.org 64 bytes from centos2.yahoon.org (192.168.0.115): icmp_seq=1 ttl=64 time=3.74 ms 64 bytes from centos2.yahoon.org (192.168.0.115): icmp_seq=2 ttl=64 time=1.61 ms |
2.对客户端进行配置
在/var/cfengine/inputs下创建 update.conf
|
# update.conf # yahoon 2007.11.1 control: actionsequence = ( copy processes tidy ) domain = ( yahoon.org ) #policyhost = ( my_policy_host ) policyhost = ( 192.168.0.114 ) master_cfinput = ( /masterfile/inputs ) workdir = ( /var/cfengine ) copy: $(master_cfinput) dest=$(workdir)/inputs r=inf mode=700 type=binary server=$(policyhost) trustkey=true processes: # "cfservd" restart /var/cfengine/bin/cfservd # "cfenvd" restart "/var/cfengine/bin/cfenvd" "cfservd" signal=term restart /var/cfengine/bin/cfservd "cfenvd" signal=kill restart "/var/cfengine/bin/cfenvd -H" tidy: $(workdir)/outputs pattern=* age=7 # End |
共5页: 上一页 [1] 2 [3] [4] [5] 下一页 【内容导航】 第 1 页:工作环境及论论知识 第 2 页:下载安装配置过程 第 3 页:测试运行/排错 第 4 页:测试新加入一台客户机 第 5 页:配置工作方式一
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||