のぴぴのメモ

自分用のLinuxとかの技術メモ

【RHEL6】ipv6無効化

ipv6の無効化方法について説明。

1.設定

/etc/modprobe.d/にdisable_ipv6.confというファイル設定ファイルを作成する。
(ファイル名は任意の名前で可)
/etc/modprobe.d/disable_ipv6.conf

options ipv6 disable=1

2.IPv6向けiptableサービスの無効化

(1)ip6tablesサービスの停止

# service ip6tables stop
ip6tables: モジュールを取り外し中:              [  OK  ]

(2)ip6tablesサービスの自動起動抑止

# chkconfig ip6tables off
# chkconfig --list|grep ip6tables

3.ネットワークの再起動

ネットワークを再起動する。

# service network restart

(面倒であればOSの再起動でもいいんでは)

4.確認

(1)dmesg設定

dmesgに下記メッセージがあることを確認。

IPv6: Loaded, but administratively disabled, reboot required to enable

※(意訳)モジュールをロードしたけど、管理上機能が無効化されてるよ

(b)ifconfigでipv6アドレスがないことを確認

 ifconfigにてIPv6の情報が表示されていないことを確認する。

-IPv6が有効な場合
$ ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.1.10 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::240:63ff:feea:7bed/64 Scope:Link
<以下略>
-IPv6が無効な場合
$ ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.1.10 Bcast:192.168.0.255 Mask:255.255.255.0
<以下略>

以上

【参考】

 一般的な方法として、modprobe.confに「alias net-pf-10 off」と設定する方法があちらこちらで紹介されている。しかいこの設定は、「off」という存在しないモジュールをロードさせようとすることで(当然失敗する)、結果としてipv6のモジュールをロードさせないようにしている。
 おそらく、disableオプションが実装される前の苦肉の策の設定ではないだろうか。