目次
概要
2017年4月5日よりさくらのVPSにおいて、IPv6はデフォルトでは無効化しておりますので、ご利用いただく場合にはお客様にて有効化していただく必要があります。
こちらの手順書では仮想サーバ上でIPv6の有効化手順について説明します。
前提条件
- 本手順書はさくらのVPS V4, V5バージョンの仮想サーバのみ対応します。
- 本手順書は標準OSのUbuntu 18.04のみ対応します。
- IPv6の有効化作業を実施するには、root権限が必要となります。
- 本手順を実施するにあたって、仮想サーバは1回以上の再起動が必要です。
準備作業
VPSコントロールパネルへログイン
(1)さくらのVPSのコントロールパネルへ「会員ID」と「会員メニューパスワード」を入力してログインします。
会員ID | お客様の会員ID(例:nnn12345) |
パスワード | 会員メニューパスワード お申し込み時にお客様にて決めていただいた任意のパスワード。 紛失された場合は「会員メニューパスワードの変更・再発行」をご確認ください。 |
- IPアドレスでログインした場合
VPSコントロールパネルに「IPアドレス」でログインした場合、該当のサーバ操作のみが行えます。
契約中の他のサーバ位置ら、ローカルネットワーク接続等の操作は行えません。
サーバの起動
(1)VPSコントロールパネルの「起動」ボタンを押して、仮想サーバを起動します。
(2)「コンソール」-「VNCコンソール」をクリックします。
(3)サーバの起動が正常に完了したことを確認してからログインします。また、rootユーザへ切り替えます。※サーバへのログインは、SSH経由でも問題ありません。
カーネルパラメータの確認
現在の設定を確認する
IPv6が無効化されていることを確認します。
$ sysctl -a --pattern disable_ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.ens3.disable_ipv6 = 1 net.ipv6.conf.ens4.disable_ipv6 = 1 net.ipv6.conf.ens5.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
ネットワークコンフィグの変更
現在のネットワーク設定を表示し、IPv6アドレスが付与されていないことを確認します。
$ ip address show dev ens3 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 9c:a3:ba:01:ae:a5 brd ff:ff:ff:ff:ff:ff inet 153.126.128.249/23 brd 153.126.129.255 scope global ens3 valid_lft forever preferred_lft forever
IPv6に関する設定が記述された 02-netcfg-v6.yaml.bak というファイルの内容を確認します。
デフォルトではこの設定ファイルは読まれないようになっています。
$ cat /etc/netplan/02-netcfg-v6.yaml.bak # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens3: addresses: - "2401:2500:102:3000:XXX:XXX:XXX:XXX/64" gateway6: "fe80::1"
VPSコントロールパネルでIPv6の設定を確認
サーバの「ネットワーク情報」で、設定ファイルとコントロールパネルの内容が同じであることを確認します。
IPv6の有効化
IPv6を無効化する設定が記述されている /etc/sysctl.d/60-disable-ipv6.conf を起動時に読み込まないようにリネームします。
$ sudo mv /etc/sysctl.d/60-disable-ipv6.conf /etc/sysctl.d/60-disable-ipv6.conf.bak
IPv6に関する設定が記述された 02-netcfg-v6.yaml.bak が起動時に読み込まれるようリネームします。
$ sudo mv /etc/netplan/02-netcfg-v6.yaml.bak /etc/netplan/02-netcfg-v6.yaml
リネームされていることを確認します。
$ ls /etc/sysctl.d/ 10-console-messages.conf 10-ipv6-privacy.conf 10-kernel-hardening.conf 10-link-restrictions.conf 10-magic-sysrq.conf 10-network-security.conf 10-ptrace.conf 10-zeropage.conf 60-disable-ipv6.conf.bak 99-sysctl.conf README $ ls /etc/netplan/ 01-netcfg.yaml 02-netcfg-v6.yaml
ネットワーク設定の反映
OSを再起動し、ネットワーク設定を反映します。
$ sudo reboot
設定の反映を確認
$ ip address show dev 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/23 brd XXX.XXX.XXX.255 scope global ens3 valid_lft forever preferred_lft forever inet6 2401:2500:102:3000:XXX:XXX:XX:XXX/64 scope global valid_lft forever preferred_lft forever inet6 fe80::9ea3:baff:fe01:XXXX/64 scope link valid_lft forever preferred_lft forever
IPv6のデフォルトゲートウェイが「fe80::1」と設定されていることを確認します。
$ ip -6 route 2401:2500:102:3000::/64 dev ens3 proto kernel metric 256 pref medium fe80::/64 dev ens3 proto kernel metric 256 pref medium default via fe80::1 dev ens3 proto static metric 1024 pref medium
「ping6」コマンドを用いて外部と通信可能であるか確認を行います。
$ ping6 -c 5 -I ens3 google.com PING google.com(nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e)) from 2401:2500:102:3000:XXX:XXX:XXX:XXX ens3: 56 data bytes 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=1 ttl=54 time=18.2 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=2 ttl=54 time=18.0 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=3 ttl=54 time=18.1 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=4 ttl=54 time=18.0 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=5 ttl=54 time=18.1 ms
通信が可能であればIPv6アドレスを有効にする方法は完了です。