PIYO - Tech & Life -

Chefを使ってiptablesの設定を変える

Chef Vagrant Ruby

CentOS6.3の初期状態ではiptablesによりlocalhost以外からのアクセスを弾くような設定になっています。Chefを使ってVMにWebサーバーを入れてもホストOSから確認できなくて困りました。

入門Chef Soloでは「VMだからiptables切っちゃえばいいよ」と書いてありましたが、せっかくだからChefでやる方法を探しました。

OPSCODEのcookbookを使う

Opscode Community

[http://community.opscode.com/cookbooks:image:large]

OPSCODEのコミュニティで色々なcookbookが公開されています。よくあるサーバーの設定はほとんど見つかります。とは言ってもブラックボックスすぎてわけわからなくなるので、Chefに慣れるまではなるべく自分で書いたほうがよさそうです。naoya氏がそう言ってます。

でもiptableぐらいはいいよね?ファイル書き換えるだけだし。と判断し、公開されているcookbookを使いました。

使うための準備はこちら。

knifeでOPSCODEのCookbookを使う - ぴよログ

[https://blog.piyo.tech/posts/2013-04-16-120000:image:large]

手順

とにかくダウンロード。

$ cd chef-repo
$ knife cookbook site vendor iptables

./cookbooks/iptables として配置されます。

HTTPとSSHを許可するため、次のような設定が必要です。

# HTTP
-A FWR -m tcp -p tcp --dport 80 -j ACCEPT
# SSH
-A FWR -m tcp -p tcp --dport 22 -j ACCEPT
iptables_rule "all_established"
iptables_rule "all_icmp"

iptables_rule "http" # これと
iptables_rule "ssh"  # この2行を追加

対象のノード(今回はvagrantのVM)のjsonファイルを書き換え。

{
    "run_list":[
	"iptables",
    ]
}

これでChefを流せばiptablesの設定が変わり、ウェブサーバーの動作確認などができるようになります!

$ knife solo cook vagrant@192.168.33.10

RELATED

VagrantとChef Soloの超入門

Vagrant、Chefあたりが気になったので初めて使ってみました。どういうことができるのかわかりませんが使いながら探ってみたいと思います。そんな程度の知識しかないので書いている内容や解釈に間違いがあ

knifeでOPSCODEのCookbookを使う

OPSCODEのCookbookはknifeで自動取得して使うことができます。自分でダウンロードしてChefリポジトリに配置してもいいみたいですが、せっかくなので自動でやってみます。 private_k

Rubyの正規表現でテキストの置換ができるWebサイト

自分用にテキストの置換ができるwebサービスを作りました。 Regex Replace 背景 正規表現による文字列置換なんかはエディタを使うべきところなのですが、普段からつかっているEmacsの正規表現が使い勝手がとても悪いとい