同じ CentOS 5.7 でも「/etc/modprobe.conf」へ下記の追記だけでIPv6が無効に出来たり出来なかったりしていた件について、更に調べてみました。
alias net-pf-10 off alias ipv6 off
IPv6が有効になっていたサーバでは「lsmod | grep ipv6」の出力が下記の通りでした。
ipv6 271393 23 cnic xfrm_nalgo 13381 1 ipv6
「modinfo cnic」としてみたところ・・・Broadcom?
: description: Broadcom NetXtreme II CNIC Driver :
「lsmod | grep cnic」で・・・
cnic 50261 1 bnx2i ipv6 271393 23 cnic uio 14793 1 cnic
「modinfo bnx2i」で・・・iSCSI?
: description: Broadcom NetXtreme II BCM5706/5708/5709/57710/57711/57712 iSCSI Driver :
「chkconfig --list | grep iscsi」で・・・
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iSCSIは使っていないので、使っていないサービスは起動しないようにします。
chkconfig iscsi off chkconfig iscsid off
そして再起動すると・・・IPv6を無効化(lsmodにも現れない)することが出来ました。この状態で「/etc/init.d/iscsi start」すると、案の定IPv6が有効になりました*1。
「/etc/modprobe.conf」に「alias net-pf-10 off」と「alias ipv6 off」を追記しただけだと、iscsiやiscsidを起動したときにIPv6が有効になってしまうようです。
さらに、CentOS 5.5 で「yum update」すると以下の通り表示されました。
: ---> Package mkinitrd.i386 0:5.1.19.6-71.el5_7.1 set to be updated --> Processing Dependency: iscsi-initiator-utils for package: mkinitrd :
CentOS 5.6 で「rpm -q --whatrequires iscsi-initiator-utils」で依存関係を表示してみると・・・
mkinitrd-5.1.19.6-68.el5_6.1 mkinitrd-5.1.19.6-68.el5_6.1
さらに「rpm -q --whatrequires mkinitrd」で下記の通りなので、CentOS 5.6 では「iscsi-initiator-utils」は必ずインストールされるようです。
mkbootdisk-1.5.3-2.1 kernel-2.6.18-194.17.1.el5
CentOS 5.5 で「yum install iscsi-initiator-utils」でインストールした後、「chkconfig --list | grep iscsi」してみました。
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
案の定、インストールしただけで自動起動するようになっていました。
まとめると・・・
- CentOS 5.5 以前から、5.6 以降にアップデートすると、依存関係により「iscsi-initiator-utils」がインストールされる
- 「iscsi-initiator-utils」をインストールしたときに、iscsiとiscsidの自動起動が勝手に有効になる
- iscsiやiscsidが起動すると、modprobe.confで「alias net-pf-10 off」と「alias ipv6 off」をしていてもIPv6が有効になる
よって、CentOS 5.5 から CentOS 5.6 にアップデートした時に、意図せずIPv6が有効になってしまったようです。