cfengineでhostsファイルを同期させる。

  • 投稿日:
  • by

稀に聞かれるのでメモ・・・

cfengineで/etc/hostsファイルを1時間毎に同期させる手順。

○環境例

* cfengineのサーバホスト名    :cfserver
* cfengineのクライアントホスト名 : cfclient
* ネットワークセグメント       : 192.168.0.0/24

1.インストール
 ○ここからダウンロードしてconfigure / make / make install

2.公開鍵認証の設定

 # /usr/local/sbin/cfkey

3.サーバ側の設定( cfserver )
ファイル名:/var/cfengine/inputs/cfservd.conf
内容:
control:
AllowConnectionsFrom = ( 192.168.0.0/24 )
TrustKeysFrom = ( 192.168.0.0/24 )
MaxConnections = ( 100 )
LogAllConnections = ( true )

admit:
/etc/hosts *


4.クライアント側の設定( cfserver )
ファイル名:/var/cfengine/inputs/update.conf
内容:
control:
any::
actionsequence = ( copy processes )
policyhost = ( cfserver )
workdir = ( /var/cfengine )

copy:
any::
/etc/hosts server=$(policyhost)
dest=/etc/hosts
mode=644
owner=root trustkey=true
backup=true syslog=true

processes:
any::
"cfexecd" restart "/usr/local/sbin/cfexecd"


5.コマンド実行
 * cfserver側で実行
# cfservd -vf cfservd.conf
* cfclient側で実行
# cfagent -vf update.conf
※コマンド実行した際に1回同期され、その後は1時間毎に実行され差異がある時に同期されます。