RaspberryPiのIPv6を無効化する

RaspberryPiProxmoxによる仮想化で必要な設定はもう少しありました。そのあたりもメモっておこうと思います。 今回はネットワークインターフェースのIPv6の無効化となります。昔はIPv6を無効化するとネットワークが早くなるよ~とか聞いていましたが、 自分にとっては誤差にすぎませんでした。

実は毎回有効なまま使用することが多いのですが、今回の環境設定ではIPv6は無効化することというような 記載があったので、トラブル続きだったので設定を行うことにしました。

方法は2タイプあります。自分は前者を行いましたが、おすすめは後者です。理由としては設定ファイルのある/bootの領域はRaspberryPi以外のOSからでも編集可能な領域なので、失敗してもリトライができるからです。

また、あとから知ったのですが、今回自分が設定を行ったのはRaspberryPi OS Lite版でしたが、RaspberryPi OS 通常版ではGUIから設定ができるので、Xの設定アプリからサクッと設定できると思います。

iPv6を無効にする前の状態

ipコマンドで確認するとinet6として有効化されています。

$ 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:a6:32:15:58:da brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether dc:a6:32:15:58:db brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.16/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
       valid_lft 85628sec preferred_lft 74828sec
    inet6 fe80::9c78:665e:ddd8:f421/64 scope link 
       valid_lft forever preferred_lft forever

(1)/etc/sysctl.confを編集

1つ目の方法は/etc/sysctl.confIPv6を無効化する設定を追加する方法です。

ファイルを編集する

設定ファイルをviなどのエディタで開きます。

$ sudo vi /etc/sysctl.conf

項目を末尾に追記

# 以下を末尾に追記
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

システムの再起動

設定が終わったらシステムを再起動します。

$ sudo reboot

こちらの手順でIPv6が無効化されます。 確認はipコマンドを使用すればOKです。inet6の設定部分がなくなっています

$ 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
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:a6:32:15:58:da brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether dc:a6:32:15:58:db brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.16/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
       valid_lft 86373sec preferred_lft 75573sec

(2)/boot/cmdline.txtを編集

2つ目の方法は/boot/cmdline.txtIPv6を無効化する設定を追加する方法です。

設定ファイルの/boot/cmdline.txtipv6.disable=1を追記します。 記述するときは以下に注意します。

  • 途中で改行をいれない
  • 設定の項目間はスペースを空ける

設定ファイルをviなどのエディタで開きます。

$ sudo vi /boot/cmdline.txt

修正前

console=serial0,115200 console=tty1 root=PARTUUID=228cb972-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

修正後

console=serial0,115200 console=tty1 root=PARTUUID=228cb972-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles ipv6.disable=1

システムの再起動

設定が終わったらシステムを再起動します。

$ sudo reboot

こちらの手順でIPv6が無効化されます。 確認は先ほどと同様にipコマンドを使用すればOKです。

$ 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
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:a6:32:15:58:da brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether dc:a6:32:15:58:db brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.16/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
       valid_lft 86373sec preferred_lft 75573sec

おわりに

設定ファイルの編集・再起動によりIPv6の無効化ができました。 あと1件でRaspberryPiのProxmox化で必要であった設定方法のメモの関連記載が終わります。長かった…😅

/* -----codeの行番号----- */