IPv6

対象

VPS

IPv6は、インターネット通信で使用されるIPアドレスの規格の一つです。

VPSでは、通常のIPv4アドレスに加えてIPv6アドレスを利用できます。

IPv6はデフォルトで無効になっています。

コントロールパネルからIPv6を有効化すると、対象サーバーにIPv6アドレスと、IPv6通信用のネットワークポートが新たに割り当てられます。

有効化後はサーバーへログインし、コントロールパネルに表示されているIPv6アドレスをOS上で手動設定してください。

OSへの設定が完了すると、IPv6を利用したインターネット通信が可能になります。

IPv6アドレスは、既存のIPv4アドレス用ポートとは別のネットワークポートとして割り当てられます。

IPv6で使用するDNSサーバーのアドレスとして、本マニュアルのOS設定手順では、以下の公開DNSサービスを使用しています。

Cloudflare 2606:4700:4700::1111
Google Public 2001:4860:4860::8888

1.XServerアカウントにログイン

XServerアカウントへログインし、「コントロールパネル」をクリックしてください。

「コントロールパネル」をクリック

2.「VPS」をクリック

メニューの「VPS」をクリックしてください。

3.「詳細」ボタンをクリック

IPv6を有効にするVPSの「詳細」ボタンをクリックしてください。

「詳細」ボタンをクリック

4.「IPv6」タブでIPv6を有効にする

「IPv6」タブを選択し、IPv6のスライドスイッチをクリックして、IPv6を有効にします。(設定は即時反映されます)

IPv6を有効にする

IPv6が有効になり「情報」にIPv6アドレス情報が表示されます。

IPv6アドレス情報を確認

5.サーバーへIPv6アドレスを反映する

SSH」または「コンソール」で、サーバーへログインし、「情報」に記載されているIPv6アドレスを反映します。

1.サーバーへログイン

SSH」または「コンソール」で、サーバーへログインしてください。

2.ネットワークポートの追加を確認

下記のコマンドを実行し、IPv6アドレス用のネットワークポートが追加されたことを確認してください。

ip -br link

下記の表示例では、enp8s0がIPv6アドレス用ポートとして追加されていることが確認できます。

lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
enp3s0           UP             fa:16:3e:xx:xx:xx <BROADCAST,MULTICAST,UP,LOWER_UP>
enp8s0           DOWN           fa:16:3e:xx:xx:xx <BROADCAST,MULTICAST>

3.IPv6定義用ファイルを追加

追加されたenp8s0にIPv6アドレスを割り当て、netplanにIPv6定義用ファイルを追加します。

下記の実行例では、次の内容で設定しています。

  • 割り当てられたIPv6アドレス「2400:b1a0:200:2::xxx」を変数「IPV6_ADDR」として定義
  • 追加されたIPv6ネットワークポート「enp8s0」を変数「IFACE」として定義
  • IPv6のデフォルトゲートウェイアドレス「2400:b1a0:200:2::1」を設定
  • DNSサーバーに、公開IPv6 DNSサーバーのCloudflare「2606:4700:4700::1111」とGoogle Public「2001:4860:4860::8888」を割り当て
  • IPv6定義用ファイルを「/etc/netplan/99-ipv6.yaml」として保存
IPV6_ADDR="2400:b1a0:200:2::xxx"
IFACE="enp8s0"

cat <<EOF > /etc/netplan/99-ipv6.yaml
network:
  version: 2
  ethernets:
    ${IFACE}:
      dhcp4: false
      dhcp6: false
      addresses:
        - ${IPV6_ADDR}/64
      routes:
        - to: ::/0
          via: 2400:b1a0:200:2::1
      nameservers:
        addresses:
          - 2606:4700:4700::1111
          - 2001:4860:4860::8888
EOF

chmod 600 /etc/netplan/99-ipv6.yaml
netplan generate
netplan apply

4.IPv6アドレスの追加を確認

下記のコマンドを実行して、IPv6アドレスが追加されたことを確認してください。

ip -br addr

下記の表示例では、enp8s0がUPになり、IPv6アドレス2400:b1a0:200:2::xxxが追加されていることが確認できます。

lo               UNKNOWN        127.0.0.1/8 ::1/128
enp3s0           UP             192.168.1.x/24 metric 100 fe80::xxxx:xxxx:xxxx:xxxx/64
enp8s0           UP             2400:b1a0:200:2::xxx/64 fe80::xxxx:xxxx:xxxx:xxxx/64

外部との疎通は、ping -6コマンドで確認できます。

以下の実行例では、公開IPv6 DNSサーバに対してpingを実行した結果です。

ping -6 2606:4700:4700::1111
PING 2606:4700:4700::1111 (2606:4700:4700::1111) 56 data bytes
64 bytes from 2606:4700:4700::1111: icmp_seq=1 ttl=57 time=11.0 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=2 ttl=57 time=8.33 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=3 ttl=57 time=7.70 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=4 ttl=57 time=7.24 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=5 ttl=57 time=7.22 ms

5.IPv6の削除(任意)

IPv6アドレスを使用しない場合は定義したIPv6を削除します。手順3.「IPv6アドレスの割り当て」でIPv6を設定した場合、下記のコマンドで定義ファイルを削除します。

rm /etc/netplan/99-ipv6.yaml
netplan generate
netplan apply

必要に応じて下記のコマンドを実行し、ネットワークポートをDOWNにします。

ip link set "${IFACE}" down

6.IPv6設定の無効化

コントロールパネルでIPv6のスライドスイッチをクリックして、IPv6を無効にします。

IPv6を無効化する

1.サーバーへログイン

SSH」または「コンソール」で、サーバーへログインしてください。

2.ネットワークポートの追加を確認

下記のコマンドを実行し、サーバー上にIPv6アドレス用のネットワークポートが追加されたことを確認してください。

nmcli device status

下記の表示例では、enp8s0がIPv6アドレス用ポートとして追加されていることが確認できます。

DEVICE  TYPE      STATE                   CONNECTION
enp3s0  ethernet  connected               cloud-init enp3s0
enp8s0  ethernet  connected               Wired connection 1

CONNECTIONプロファイルが自動で作成されていない場合は、IPv6アドレスを割り当てる前に手動で作成してください。

DEVICE  TYPE      STATE            CONNECTION
enp3s0  ethernet  接続済み         cloud-init enp3s0
lo      loopback  接続済み (外部)  lo
enp8s0  ethernet  切断済み         --
IFACE="enp8s0"
CONNECTION="Wired connection 1"
nmcli connection add type ethernet ifname "${IFACE}" con-name "${CONNECTION}"

3.IPv6アドレスの割り当て

追加されたenp8s0にIPv6アドレスを割り当てます。nmcliコマンドでIPv6を追加します。

下記の実行例では、次の内容で設定しています。

  • DEVICEとCONNECTION名を同じ名前に定義
  • 割り当てられたIPv6アドレス「2400:b1a0:200:2::xxx」を変数「IPV6_ADDR」として定義
  • 追加されたIPv6ネットワークポート「enp8s0」を変数「IFACE」として定義
  • IPv6のデフォルトゲートウェイアドレス「2400:b1a0:200:2::1」を設定
  • DNSサーバーに、公開IPv6 DNSサーバーのCloudflare「2606:4700:4700::1111」とGoogle Public「2001:4860:4860::8888」を割り当て
IPV6_ADDR="2400:b1a0:200:2::xxx"
IFACE="enp8s0"
CONNECTION="Wired connection 1"

nmcli connection modify "${CONNECTION}" connection.id "${IFACE}"

nmcli connection modify "${IFACE}" \
  ipv4.method disabled \
  ipv6.method manual \
  ipv6.addresses "${IPV6_ADDR}/64" \
  ipv6.gateway "2400:b1a0:200:2::1" \
  ipv6.dns "2606:4700:4700::1111,2001:4860:4860::8888"

nmcli connection up "${IFACE}"

4.IPv6アドレスの追加を確認

下記のコマンドを実行し、サーバー上にIPv6アドレスが追加されたことを確認してください。

ip -br addr

下記の表示例ではenp8s0がUPになり、IPv6アドレス2400:b1a0:200:2::xxxが追加されていることが確認できます。

lo               UNKNOWN        127.0.0.1/8 ::1/128
enp3s0           UP             192.168.1.x/24 metric 100 fe80::xxxx:xxxx:xxxx:xxxx/64
enp8s0           UP             2400:b1a0:200:2::xxx/64 fe80::xxxx:xxxx:xxxx:xxxx/64

外部との疎通は、ping -6コマンドで確認できます。

以下の実行例では公開IPv6 DNSサーバに対してpingを実行した結果です。

ping -6 2606:4700:4700::1111
PING 2606:4700:4700::1111 (2606:4700:4700::1111) 56 data bytes
64 bytes from 2606:4700:4700::1111: icmp_seq=1 ttl=57 time=11.0 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=2 ttl=57 time=8.33 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=3 ttl=57 time=7.70 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=4 ttl=57 time=7.24 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=5 ttl=57 time=7.22 ms

5.IPv6の削除(任意)

IPv6アドレスを使用しない場合は定義したIPv6を削除します。手順3.「IPv6アドレスの割り当て」でIPv6を設定した場合は、以下のコマンドで設定をリセットします。

IFACE="enp8s0"

nmcli connection modify "${IFACE}" \
  ipv6.method auto \
  ipv6.addresses "" \
  ipv6.gateway "" \
  ipv6.dns "" \
  ipv6.routes ""

nmcli connection up "${IFACE}"

必要に応じて、以下のコマンドでネットワークポートをDOWNにします。

nmcli connection down "${IFACE}"

6.IPv6設定の無効化

コントロールパネルでIPv6のスライドスイッチをクリックして、IPv6を無効にします。

IPv6を無効化する

1.サーバーへログイン

SSH」または「コンソール」で、サーバーへログインしてください。

2.ネットワークポートの追加を確認

下記のコマンドを実行し、サーバー上にIPv6用のネットワークポートが追加されていることを確認してください。

ip -br link

下記の表示例では、eth1 がIPv6アドレス用ポートとして追加されていることが確認できます。

lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
eth0             UP             fa:16:3e:xx:xx:xx <BROADCAST,MULTICAST,UP,LOWER_UP>
eth1             DOWN           fa:16:3e:xx:xx:xx <BROADCAST,MULTICAST>

3.ネットワーク定義ファイルを作成

追加されたeth1にIPv6アドレスを割り当てます。 IPv6アドレス用のネットワーク定義ファイルを/etc/systemd/network/ 配下に作成します。

下記の実行例では、次の内容で設定しています。

  • 割り当てられたIPv6アドレス「2400:b1a0:200:2::xxx」を変数「IPV6_ADDR」として定義
  • 追加されたIPv6ネットワークポート「eth1」を変数「IFACE」として定義
  • IPv6のデフォルトゲートウェイアドレス「2400:b1a0:200:2::1」を設定
  • DNSサーバーに、公開IPv6 DNSサーバーのCloudflare「2606:4700:4700::1111」とGoogle Public「2001:4860:4860::8888」を設定
  • IPv6定義用ファイルを「/etc/systemd/network/99-ipv6.network」として保存
IPV6_ADDR="2400:b1a0:200:2::xxx"
IFACE="eth1"

cat <<EOF > /etc/systemd/network/99-ipv6.network
[Match]
Name=${IFACE}

[Network]
Address=${IPV6_ADDR}/64
Gateway=2400:b1a0:200:2::1
DNS=2606:4700:4700::1111
DNS=2001:4860:4860::8888
IPv6AcceptRA=no
EOF

networkctl reload
networkctl reconfigure "${IFACE}"

ネットワークポートがDOWNのままの場合は、下記のコマンドでネットワークポートを有効化した後、再度設定を反映してください。

ip link set "${IFACE}" up
networkctl reconfigure "${IFACE}"

4.IPv6アドレスの追加を確認

下記のコマンドで、サーバー上にIPv6アドレスが追加されたことを確認してください。

ip -br addr

下記の表示例ではeth1がUPになり、IPv6アドレス2400:b1a0:200:2::xxxが追加されていることが確認できます。

lo               UNKNOWN        127.0.0.1/8 ::1/128
eth0            UP             192.168.1.x/24 fe80::xxxx:xxxx:xxxx:xxxx/64
eth1            UP             2400:b1a0:200:2::xxx/64 fe80::xxxx:xxxx:xxxx:xxxx/64

外部との疎通は、ping -6コマンドで確認できます。

下記の実行例では公開IPv6 DNSサーバに対してpingを実行した結果です。

PING 2606:4700:4700::1111 (2606:4700:4700::1111) 56 data bytes
64 bytes from 2606:4700:4700::1111: icmp_seq=1 ttl=57 time=11.0 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=2 ttl=57 time=8.33 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=3 ttl=57 time=7.70 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=4 ttl=57 time=7.24 ms
64 bytes from 2606:4700:4700::1111: icmp_seq=5 ttl=57 time=7.22 ms

5.IPv6の削除(任意)

IPv6アドレスを使用しない場合は定義したIPv6を削除します。手順3.「IPv6アドレスの割り当て」で作成したIPv6定義ファイルを削除し、systemd-networkdに設定を再読み込みさせます。

rm /etc/systemd/network/99-ipv6.network
networkctl reload
networkctl reconfigure "${IFACE}"

必要に応じて、以下のコマンドでネットワークポートをDOWNにします。

nmcli connection down "${IFACE}"

6.IPv6設定の無効化

コントロールパネルでIPv6のスライドスイッチをクリックして、IPv6を無効にします。

IPv6を無効化する