旧ブログ

sambaiz.net に引っ越しました

chef soloでiptablesを設定する

前回の続き。Jenkinsのために8080番ポートを空ける。(前回切ったiptablesは元に戻した)

今回はサードパーティのcookbookを使うことにした。 http://community.opscode.com/cookbooks/simple_iptables

Berksfile

source 'https://api.berkshelf.com'
cookbook 'simple_iptables'

インストール(cookbooksの中にsimple_iptablesが入る)

$ berks vendor cookbooks

ipatablesのcookbookを作る。

$ knife cookbook create iptables -o site-cookbooks/

site-cookbooks/iptables/recipes/default.rb

# Reject packets other than those explicitly allowed
simple_iptables_policy "INPUT" do
  policy "DROP"
end

# The following rules define a "system" chain; chains
# are used as a convenient way of grouping rules together,
# for logical organization.

# Allow all traffic on the loopback device
simple_iptables_rule "loopback" do
  chain "system"
  rule "--in-interface lo"
  jump "ACCEPT"
end

# Allow any established connections to continue, even
# if they would be in violation of other rules.
simple_iptables_rule "established" do
  chain "system"
  rule "-m conntrack --ctstate ESTABLISHED,RELATED"
  jump "ACCEPT"
end

# Allow SSH
simple_iptables_rule "ssh" do
  chain "system"
  rule "--proto tcp --dport 22"
  jump "ACCEPT"
end

# For Jenkins
simple_iptables_rule "jenkins" do
  rule "--proto tcp --dport 8080"
  jump "ACCEPT"
end

nodes/chef_test.json

{"run_list":[
    "java",
    "jenkins",
    "simple_iptables",
    "iptables"]}

そして実行

knife solo cook chef_test

8080番ポートにアクセスしたらJenkinsのページが表示されるようになった。

続く

参考

さくらVPSの初期設定をChef Soloでやってみた〜サードパーティcookbookの使い方〜 http://tsuchikazu.net/vps_chef_solo/