IPv6有効化手順(Debian 12)

[更新: 2023年8月8日]

さくらのVPSで提供中の標準OS「Debian 12」のIPv6アドレスに関するページです。

仮想サーバへのログイン

VNCコンソールまたはSSH経由でサーバーへログインし、rootユーザーに切り替えます。

VNCコンソールのリンク

カーネルパラメータの変更

現在の設定確認

IPv6が無効化されていることを設定ファイルから確認します。

$ cat /etc/sysctl.d/ipv6.conf

----関連設定の抜粋----
# Do not accept RA
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.ens3.accept_ra=0

# Do not use IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

IPv6の有効化

IPv6を有効化します。

$ sudo sed -i -e "/net.ipv6.conf.all.disable_ipv6/s/1/0/" /etc/sysctl.d/ipv6.conf
$ sudo sed -i -e "/net.ipv6.conf.default.disable_ipv6/s/1/0/" /etc/sysctl.d/ipv6.conf

設定が変更されていることを確認します。

$ cat /etc/sysctl.d/ipv6.conf

----関連設定の抜粋----
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0

ネットワークコンフィグの変更

現在の設定を確認

現在のネットワーク設定を確認します。
IPv6に関する設定がコメントアウトされていることが確認できます。
$ ip addr show ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XXX.XXX.XXX.XXX/XX brd XXX.XXX.XXX.XXX scope global noprefixroute ens3
       valid_lft forever preferred_lft forever
$ cat /etc/network/interfaces
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet static
        address XXX.XXX.XXX.XXX
        netmask XXX.XXX.XXX.XXX
        gateway XXX.XXX.XXX.XXX
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX

#iface ens3 inet6 static
#        address XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
#        netmask 64
#        gateway fe80::1

IPv6の設定確認(VPSコントロールパネル)

コントロールパネルにログインして、サーバーの「ネットワーク」をクリックします。

ネットワークの場所

記載内容が設定ファイルと同じであることを確認します。

設定内容の表示

IPv6の有効化

以下のコマンドを実行し、コメントアウトを解除します。

$ sudo sed -i -e "s/^#//g" /etc/network/interfaces

IPv6に関する設定のコメントアウトが解除されていることを確認します。

$ cat /etc/network/interfaces
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet static
        address XXX.XXX.XXX.XXX
        netmask XXX.XXX.XXX.XXX
        gateway XXX.XXX.XXX.XXX
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX

iface ens3 inet6 static
        address XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
        netmask 64
        gateway fe80::1

ネットワーク設定の反映

OSを再起動し、ネットワーク設定を反映します。

$ sudo systemctl reboot

設定の反映を確認

ネットワークの情報で、IPv6アドレスが設定されていることを確認します。

$ ip addr show ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XXX.XXX.XXX.XXX/XX brd XXX.XXX.XXX.XXX scope global noprefixroute ens3
       valid_lft forever preferred_lft forever
    inet6 2401:2500:102:3000:XXX:XXX:XXX:XXX/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::9ea3:baff:fe01:XXXX/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

IPv6のデフォルトゲートウェイが「fe80::1」と設定されていることを確認します。

$ ip -6 route show
::1 dev lo proto kernel metric 256 pref medium
2401:2500:102:3000::/64 dev ens3 proto kernel metric 100 pref medium
fe80::/64 dev ens3 proto kernel metric 1024 pref medium
default via fe80::1 dev ens3 proto static metric 100 pref medium
IPv6で通信可能か「ping6」などで確認してください。
通信が可能であればIPv6アドレスを有効にする方法は完了です。