- 更新日: 2014年7月15日
- Vagrant & Chef
ChefでIPv6を無効化
スポンサーリンク
暇を見つけて、ちょいちょい Chef の Recipe を書き足していっています。最終的には CentOS の運用全てを Chef に置き換えたい。今日は、以下の IPv6 を無効化する Recipe を書きました。
IPv6を無効化 〜 CentOS6 | EasyRamble
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
このエントリーは、CentOS サーバー設定用 Chef Cookbook/Recipe の目次 の一部です。
IPv6 を無効化する Recipe
site-cookbooks/base_cookbook/recipes/disable_ipv6.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# https://easyramble.com/disable-ipv6.html # need to reboot network_conf = "/etc/sysconfig/network" eth0_conf = "/etc/sysconfig/network-scripts/ifcfg-eth0" disable_ipv6_conf = "/etc/modprobe.d/disable-ipv6.conf" bash "stop_ipv6" do only_if "chkconfig --list | grep ip6tables | grep 3:on" code <<-EOC service ip6tables stop chkconfig ip6tables off EOC end bash "set_network" do not_if "cat #{network_conf} | grep 'NETWORKING_IPV6=no'" code <<-EOC sed -i -e '/^NETWORKING_IPV6=/d' #{network_conf} echo "NETWORKING_IPV6=no" >> #{network_conf} EOC end bash "set_ifcfg_eth0" do not_if "cat #{eth0_conf} | grep 'IPV6INIT=no'" code <<-EOC sed -i -e '/^IPV6INIT=/d' #{eth0_conf} echo "IPV6INIT=no" >> #{eth0_conf} EOC end bash "create_disable_ipv6_conf" do code <<-EOC echo "install ipv6 /bin/true" >> #{disable_ipv6_conf} EOC creates disable_ipv6_conf end |
最初、only_if を not_if と書いていて、動かないな〜としばらく考えこみました。bash リソースを使うと何でも自由自在にできますけれど、not_if, only_if 使うことが多いのでそこは気を付けなきゃですね。
仮想マシンを再起動後に IPv6 が無効化されたことを確認
まずは追加した設定が、ファイルに追記されているか確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ vagrant halt $ vagrant up $ vagrant ssh [vagrant@localhost ~]$ sudo cat /etc/modprobe.d/disable-ipv6.conf install ipv6 /bin/true [vagrant@localhost ~]$ sudo cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=localhost.localdomain NETWORKING_IPV6=no [vagrant@localhost ~]$ sudo cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="dhcp" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="7249a920-7c1d-4fb5-a910-db264545d7c6" IPV6INIT=no |
以下のコマンドで、IPv6 が無効化されていることを確認する。
1 2 3 |
$ lsmod | grep ipv6 |
ipv6モジュールが表示されないことを確認する。表示されたら有効。
1 2 3 |
$ netstat -an |
:ffff:で始まるIPアドレスがないことを確認。あったら有効
1 2 3 |
$ ifconfig |
inet6 addrで始まる行がないことを確認。あったら有効。
いやー Recipe 書くの楽しい。何と言っても Ruby で書けるのが楽しい。
スポンサーリンク
入門Chef Solo は、私が Chef を始める際に何度も読み返した本(Kindle)です。
>> 次の記事 : Chefでサービス(デーモン)の稼働と停止をchkconfigで設定
<< 前の記事 : Chefでrbenvとruby-buildをインストール
- Vagrant & Chef の関連記事
- Vagrantで使うVirtualBoxのVM(仮想マシン)を外付けHDDに移動
- Chefで/etc/sysctl.confのkernel.panicを設定
- Chefでtelnetをインストール
- Chefでyumリポジトリを追加する設定
- Chef で iptables の設定
- ChefでSSH接続用の公開鍵をサーバーに設置
- nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
- Chef Recipe でユーザー・グループを作成
- Chef Recipe で CentOS のネットワーク・ホストを設定
- NetworkManager 他不要なパッケージを削除する Chef Recipe
Leave Your Message!