2023年10月 Raspberry Pi OSがBullseye(Debian11)からbookworm(Debian12)にメジャーバージョンアップしました。それに伴いIPv6の無効化の方法が変わりました。変更前、変更後の方法を説明します。
bookworm(Debian12) IPv6の無効化方法
bookworm(Debian12)からは、NetworkManagerが導入され、IPv6の無効化方法も変更となりました。というか、Bullseyeの時代の手順だと、再起動すると再度IPv6が有効化されます。
そこで、確実にIPv6を無効化する手順を紹介します。
設定の変更
$ sudo vi /boot/cmdline.txt
下記の通りrootwaitの前にipv6.disable=1を追加します。
console=serial0,115200 console=tty1 root=PARTUUID=b94234f0-02 rootfstype=ext4 fsck.repair=yes ipv6.disable=1 rootwait
行は必ず一行に書ききってください。スクロールバーを操作して確認ください。
改行を入れてはいけません。
この後再起動します。
$ sudo reboot
再起動後、下記コマンドで、IPv6が無効化(赤文字が表示されない事)されている事を確認。
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:91:31:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.100.101/24 brd 192.168.100.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
これでIPv6の無効化が終了です。
Bullseye(Debian11) IPv6の無効化方法
Bullseyeの時は、下記手順でIPv6を無効化できたのですが、bookwormにバージョンアップしてからは再起動するとIPv6が有効化されてしまうので、この方法は使用しないでください。
設定の変更
$ sudo vi /etc/sysctl.conf

ももぶろ
viの超簡単な使い方は、ここを見てね
ファイル設定内容は下記の通りです。
既に定義されている行は内容の変更を、無い時は行を追加してください。
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
設定の反映
sysctl.confの変更を反映する。
$ sudo sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

ももぶろ
TeratermがIPv6でつながっていると接続が切れるかも。
Teratermを再接続して確認してね。
$ sudo reboot
念のため再起動して、設定の確認を行います。
IPv6の無効化の確認
下記コマンドで、赤い文字の部分が表示されなければOKですが、Bookworm(Debian12)からは差異輝度後IPv6が有効されてしまいます。
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:91:31:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.100.101/24 brd 192.168.100.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
