【CentOS7/RHEL7】 IPv6 を無効化 & nmcli を用いたネットワーク設定

こんにちは。サイオステクノロジー OSS サポート担当何敏欽です。

IPv6 を無効にする方法

CentOS7/RHEL7 では、IPv6 がデフォルトで利用可能です。ただし、IPv6 を無効にしたい時ってありますよね。CentOS7/RHEL7 における IPv6 を無効にする方法を紹介します。なお、ブリッジインターフェースにおいても、IPv6 を無効にする場合はこちらの方法を実施するだけで十分であり、ブリッジインターフェースごとの設定は必要ありません。

IPv6 を無効にする方法

■カーネルに組み込まれている ipv6 モジュールを無効にする方法 (再起動が必要)

/etc/default/grub を編集し、以下のように GRUB_CMDLINE_LINUX に ipv6.disable=1 を追加します。

grub2-mkconfig コマンドを実行して、grub.cfg ファイルを再生成します。

設定を反映するために、システムを再起動する必要があります。

■sysctl 設定を使用して IPv6 を無効にする方法 (再起動は不要)

/etc/sysctl.conf を編集し、以下のように設定を追加します。

sysctl -p コマンドを実行して、設定を反映します。

IPv4、IPv6 の関連オプションについて

インターフェイス設定ファイルにある IPv4、IPv6 の関連オプションの意味について、纏める記事が少ないので、下記に説明します。

  • IPV4_FAILURE_FATAL:デフォルト値は no です。
  • この値が yes の場合は、IPv4 設定に失敗すると当該インタフェース全体の設定を失敗させることを示します。この設定は「この接続を完了するにはIPv4アドレス化が必要になります。」チェックを入れる設定です。
    IPV4_FAILURE_FATAL は may-fail プロパティとは逆の意味を持ちます。

  • IPV6INIT:デフォルト値は yes です。
  • この値が no の場合は、このインターフェイスで IPv6 アドレスが設定されないことを network-scripts に通知します。この設定は「IPv6のセッティング」タブで、「方式」を「無視する」にする設定です。
    IPv6 アドレスの設定を行わないだけで、IPv6 を無効化する設定ではありません。

  • IPV6_AUTOCONF:デフォルト値は yes です。
  • この値が no の場合は、このインターフェイスで IPv6 の自動設定を無効にします。
    IPV6_AUTOCONF のデフォルト値は、次のように IPV6FORWARDING に依存することに注意してください。
    IPV6FORWARDING = yes の場合、IPV6_AUTOCONF はデフォルトで no になります。
    IPV6FORWARDING = no の場合、IPV6_AUTOCONF はデフォルトで yes になり、IPV6_ROUTER は無効になります。

  • IPV6_DEFROUTE:デフォルト値は yes です。
  • この値が no の場合は、このインターフェイスで IPv6 アドレスが設定されないことを network-scripts に通知します。
    IPV6_DEFROUTE は never-default プロパティとは逆の意味を持ちます。

  • IPV6_FAILURE_FATAL:デフォルト値は no です。
  • この値が yes の場合は、IPv6 設定に失敗すると当該インタフェース全体の設定を失敗させることを示します。
    IPV6_FAILURE_FATAL は may-fail プロパティとは逆の意味を持ちます。

  • IPV6_ADDR_GEN_MODE:デフォルト値は eui64 です。
  • この値は stable-privacy の場合は、アドレスがランダム化され、ネットワークカードの MAC アドレスに基づいていない IPv6 アドレスが割り当てられます。この機能では、選択したサブネットの範囲内で IPv6 アドレスを割り当てようとします。
    アドレスをランダム化する利点の1つは、アドレスがより安全であることです。

NetworkManager コマンドラインツール (nmcli) の使用

CentOS6/RHEL6 までは、インタフェースを設定する場合は /etc/sysconfig/network-scripts/ifcfg-ethX を編集するのが一般的でしたが、CentOS7/RHEL7 ではこのやり方が非推奨になりました。CentOS7/RHEL7 からはネットワークを設定するためのコマンドとして、NetworkManager に付属する nmcli の使用が推奨されます。nmcli は、ネットワークデバイスの状態を制御および表示するのに加えて、ネットワーク接続を作成、表示、編集、削除、アクティブ化、および非アクティブ化するのに用いられます。

nmcli を使用した設定例をいくつか紹介します。nmcli はたくさんのオプションがありますので、詳細は man nmcli でご参照ください。

■デバイス情報、ネットワーク設定情報の確認

■IP アドレス、ゲートウェイの設定

■ネットワーク接続の有効化

上記コマンドを実施することで、ONBOOT の設定値は yes になります。

■IPv4 設定に失敗するとインタフェース全体の設定を失敗させる

上記コマンドを実施することで、IPV4_FAILURE_FATAL の設定値は yes になります。

■IPv6 アドレス設定を行わない

上記コマンドを実施することで、IPV6INIT の設定値は no になります。

■変更内容を適用

以上で IPv6 を無効にする方法、IPv4、IPv6 の関連オプションの意味や nmcli コマンドの使用方法ついて説明しました。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

2人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*