Red Hat Enterprise Linux 10.0でIPv6アドレスを無効化した作業証跡をまとめました。
nmcli connection showコマンドで接続名を確認する
まずは以下のコマンドを実行してRHEL10.0の接続名を確認します。
nmcli connection show
実行結果は以下です。
[root@RHEL100 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens160 cd94a637-d5d2-39fc-97d3-9303a844b635 ethernet ens160
lo 29367c56-52cd-4014-9fe2-52608d77e0f0 loopback lo
[root@RHEL100 ~]#

今回はコネクション名「ens160」に対してIPv6アドレスを無効化します。
NetworkManagerでIPv6アドレスを無効にする
以下の2コマンドを実行してNetworkManagerでIPv6アドレスを無効にします。今回は<Connection Name>にens160を指定します。
# nmcli connection modify <Connection Name> ipv6.addresses "" ipv6.gateway ""
# nmcli connection modify <Connection Name> ipv6.method "disabled"
実行結果は以下です。
[root@RHEL100 ~]# nmcli connection modify ens160 ipv6.addresses "" ipv6.gateway ""
[root@RHEL100 ~]# nmcli connection modify ens160 ipv6.method "disabled"
[root@RHEL100 ~]#
以下のファイルの中身も確認してみます。
/etc/NetworkManager/system-connections/ens160.nmconnection
[root@RHEL100 system-connections]# cat ens160.nmconnection
[connection]
id=ens160
uuid=cd94a637-d5d2-39fc-97d3-9303a844b635
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1764190741
[ethernet]
[ipv4]
method=auto
[ipv6]
addr-gen-mode=eui64
method=disabled
[proxy]
[ipv6]以下にmethod=disabledパラメータが記載されています。
以下のコマンドを実行してネットワーク接続を再起動します。
# nmcli connection up ens160
実行結果は以下です。
[root@RHEL100 ~]# nmcli connection up ens160
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@RHEL100 ~]#
コマンドの実行前後でのinet6(IPv6)の設定差分は以下です。
再起動前:
[root@RHEL100 ~]# ip add | grep -i inet6
inet6 ::1/128 scope host noprefixroute
inet6 fe80::20c:29ff:fe72:407e/64 scope link noprefixroute
[root@RHEL100 ~]#
再起動後:
[root@RHEL100 ~]# ip add | grep -i inet6
inet6 ::1/128 scope host noprefixroute
[root@RHEL100 ~]#
以下の確認結果でもIPv6アドレスが無効化されていることを確認できます。
[root@RHEL100 ~]# ip address show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:72:40:7e brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname enx000c2972407e
inet 192.168.242.132/24 brd 192.168.242.255 scope global dynamic noprefixroute ens160
valid_lft 1657sec preferred_lft 1657sec
[root@RHEL100 ~]#
次の見出し以降では、/etc/hostsと、GRUBにもIPv6を無効化するパラメータを設定して、再起動を実行します。
次の見出し以降で/etc/hostsとGRUBにIPv6アドレスを無効化するパラメータを設定したあとにOS再起動後、IPv6アドレスの設定を確認した結果は以下です。
[root@RHEL100 ~]# ip add | grep -i inet6
[root@RHEL100 ~]#
/etc/hostsに書かれているIPv6アドレスの記載をコメントアウトか削除する
Red Hat公式資料には以下のように記載されているため、hostsのIPv6アドレスの記載を消しておく、もしくはコメントアウトします。
/etc/hostsに含まれる IPv6 アドレスをすべてコメントアウトします。これには、::1localhost アドレスも含まれます。

RHEL10デフォルトのhostsファイルの中身は以下です。
# Loopback entries; do not change.
# For historical reasons, localhost precedes localhost.localdomain:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# See hosts(5) for proper format and other examples:
# 192.168.1.10 foo.example.org foo
# 192.168.1.13 bar.example.org bar
~
viエディタを使ってい以下のように::1をコメントアウトします。
# Loopback entries; do not change.
# For historical reasons, localhost precedes localhost.localdomain:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# See hosts(5) for proper format and other examples:
# 192.168.1.10 foo.example.org foo
# 192.168.1.13 bar.example.org bar
~
コメントアウトしたら、viエディタで:wq!コマンドを実行してエディタでの編集を保存して終了します。
IPv6 プロトコルを無効にする
GRUBにパラメータを追加してIPv6プロトコルを無効化します。
IPv6 アドレス指定を無効にするには、上記の手順を実行します。
/etc/default/grub を編集し、以下のとおり GRUB_CMDLINE_LINUX に ipv6.disable=1 を追加します。
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root ipv6.disable=1"
grubby コマンドを実行して GRUB 設定を更新します。
# grubby --update-kernel=ALL --args="ipv6.disable=1"

RHEL10.0での実際の実行結果は以下です。
[root@RHEL100 ~]# vi /etc/default/grub
[root@RHEL100 ~]#
[root@RHEL100 ~]#
[root@RHEL100 ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=2G-64G:256M,64G-:512M resume=UUID=a7fb73d9-5589-4393-9a54-269bd1f66c27 rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet selinux=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root
[root@RHEL100 ~]#
[root@RHEL100 ~]# grubby --update-kernel=ALL --args="ipv6.disable=1"
/etc/default/grub: 行 9: 対応する `"' を探索中に予期しないファイル終了 (EOF) です
[root@RHEL100 ~]#
[root@RHEL100 ~]#
[root@RHEL100 ~]# grubby --update-kernel=ALL --args="ipv6.disable=1"
[root@RHEL100 ~]#
# grubby –update-kernel=ALL –args=”ipv6.disable=1″を実行したところ、表記が出たため、再度実行しました。
この状態で再度catコマンドで/etc/default/grubの中身を確認した結果が以下です。
[root@RHEL100 ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=2G-64G:256M,64G-:512M resume=UUID=a7fb73d9-5589-4393-9a54-269bd1f66c27 rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet selinux=0 ipv6.disable=1"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_CMDLINE_LINUX="crashkernel=2G-64G:256M,64G-:512M resume=UUID=a7fb73d9-5589-4393-9a54-269bd1f66c27 rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet selinux=0 ipv6.disable=1"
[root@RHEL100 ~]#
OSを再起動して設定を反映する
/etc/hosts、GRUBにも設定したので以下のコマンドを実行してOSを再起動します。
# reboot
以下コマンドでIPv6アドレスが無効化されていることを確認しました。
[root@RHEL100 ~]# ip add | grep -i inet6
[root@RHEL100 ~]#
備考:カーネルパラメータのIPv6アドレスに関するパラメータがなくなる
カーネルパラメータが格納されている、/proc/sysディレクトリ配下の/netディレクトリに、IPv6アドレスに関するカーネルパラメータが格納されているディレクトリが確認できなくなります。
[root@RHEL100 ~]# ls /proc/sys/net
core ipv4 mptcp netfilter nf_conntrack_max unix
参考資料
本記事の作成に使用した参考資料を掲載します。


