IPv6有効化手順(Ubuntu 16.04)

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

仮想サーバへのログイン

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

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

現在の設定確認

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

$ cat /etc/sysctl.conf

----関連設定の抜粋----
# 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.default.disable_ipv6/s/^/#/" /etc/sysctl.conf
$ sudo sed -i -e "/net.ipv6.conf.all.disable_ipv6/s/^/#/" /etc/sysctl.conf

コメントアウトされていることを確認します。

$ cat /etc/sysctl.conf

----関連設定の抜粋----
# Do not use IPv6
#net.ipv6.conf.all.disable_ipv6 = 1
#net.ipv6.conf.default.disable_ipv6 = 1

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

現在のネットワーク設定を確認します。

$ ifconfig ens3

ens3      Link encap:Ethernet  HWaddr 9c:a3:ba:XXX:XXX:XXX
     inet addr:XXX.XXX.XXX.XXX  Bcast:XXX.XXX.XXX.255  Mask:255.255.254.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:14223 errors:0 dropped:0 overruns:0 frame:0
     TX packets:165 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:881850 (881.8 KB)  TX bytes:17598 (17.5 KB)

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 255.255.254.0
     gateway XXX.XXX.XXX.1
     # dns-* options are implemented by the resolvconf package, if installed
     dns-nameservers 210.188.224.11 210.188.224.10
     dns-search vs.sakura.ne.jp

 #iface ens3  inet6 static
 #        address 2001:e42:102:1501:XXX:XXX:XXX:XXX
 #        netmask 64
 #        gateway fe80::1
 #        dns-nameservers 2001:e42::2

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 255.255.254.0
     gateway XXX.XXX.XXX.1
     # dns-* options are implemented by the resolvconf package, if installed
     dns-nameservers 210.188.224.11 210.188.224.10
     dns-search vs.sakura.ne.jp

 iface ens3 inet6 static
     address 2001:e42:102:1501:XXX:XXX:XXX:XXX
     netmask 64
     gateway fe80::1
     dns-nameservers 2001:e42::2

ネットワーク設定の反映

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

# reboot

設定の反映を確認

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

$ ifconfig ens3

ens3      Link encap:Ethernet  HWaddr 9c:a3:ba:XXX:XXX:XXX
     inet addr:XXX.XXX.XXX.XXXBcast:XXX.XXX.XXX.255  Mask:255.255.254.0
     inet6 addr: fe80::9ea3:baff:fe01:XXX/64 Scope:Link
     inet6 addr: 2001:e42:102:1501:XXX:XXX:XXX:XXX/64 Scope:Global
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:10469 errors:0 dropped:0 overruns:0 frame:0
     TX packets:710 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:687153 (687.1 KB)  TX bytes:102704 (102.7 KB)

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

$ netstat -rnA inet6

Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
2001:e42:102:1501::/64         ::                         U    256 0     0 ens3
fe80::/64                      ::                         U    256 0     0 ens3
::/0                           fe80::1                    UG   1024 2    24 ens3
::/0                           ::                         !n   -1  1    51 lo
::1/128                        ::                         Un   0   4     4 lo
2001:e42:102:1501:160:16:50:51/128 ::                         Un   0   3    26 lo
fe80::9ea3:baff:fe01:addf/128  ::                         Un   0   3    20 lo
ff00::/8                       ::                         U    256 2   947 ens3
::/0                           ::                         !n   -1  1    51 lo

IPv6で通信可能か「ping6」などで確認してください。
通信が可能であればIPv6アドレスを有効にする方法は完了です。