Chefを使ってiptablesの設定を変える
移転しました →
CentOS6.3の初期状態ではiptablesによりlocalhost以外からのアクセスを弾くような設定になっています。Chefを使ってVMにWebサーバーを入れてもホストOSから確認できなくて困りました。
入門Chef Soloでは「VMだからiptables切っちゃえばいいよ」と書いてありましたが、せっかくだからChefでやる方法を探しました。
OPSCODEのcookbookを使う
OPSCODEのコミュニティで色々なcookbookが公開されています。よくあるサーバーの設定はほとんど見つかります。とは言ってもブラックボックスすぎてわけわからなくなるので、Chefに慣れるまではなるべく自分で書いたほうがよさそうです。naoya氏がそう言ってます。
でもiptableぐらいはいいよね?ファイル書き換えるだけだし。と判断し、公開されているcookbookを使いました。
使うための準備はこちら。
knifeでOPSCODEのCookbookを使う - PILOG
手順
とにかくダウンロード。
$ 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