LoginSignup
4
2

More than 1 year has passed since last update.

[OCI] IPv6に対応した仮想クラウドネットワーク(VCN)を作成して、自宅からIPv6アドレスで仮想マシンにアクセスしてみた

Last updated at Posted at 2021-04-21

はじめに

2021/4/15から、OCIの全リージョンでIPv6が利用可能になりました。

[Release Notes : IPv6 general availability]
(https://docs.oracle.com/en-us/iaas/releasenotes/changes/5b5cc0a0-cc06-4d25-bde8-5bcb8cbe94b6/)

ということで、 IPv6に対応したVCNを作成し、OCI上のComputeインスタンスの自宅からIPv6アドレスでアクセスできるか検証してみました。

1. IPv6に対応したVCNの作成

まずは、IPv6に対応したVCN「VCN_IPv6」を作成します。
「IPv6 CIDRブロックの有効化」のチェックボックスをオンにしてVCNを作成します。
スクリーンショット 2021-04-21 15.51.59.png
IPv6 CIDRブロックを有効にしたVCNには、58ビットマスクのIPv6 CIDRブロックが自動的に割り当てられます。

2. インターネット・ゲートウェイの作成

インターネット・ゲートウェイ「Internet Gateway」作成します。
スクリーンショット 2021-04-21 16.02.20.png

3. IPv6に対応したサブネットの作成

「VCN_IPv6」内にIPv6に対応したサブネット「Subnet_IPv6」を作成します。
スクリーンショット 2021-04-21 15.56.56.png

CIDRブロックのセクションで、「IPv6 CIDRブロックの有効化」のチェックボックスをオンにし、IPv6のCIDRブロックを指定します。サブネットマスクは64ビットで固定となっています。
スクリーンショット 2021-04-21 15.57.34.png
ルート表として、VCN作成時に作成される「Default Route Table for VCN_IPv6」を指定します。
サブネット・アクセスは、今回はインターネット側からのアクセスを確認するので、「パブリック・アクセス」を選択します。
スクリーンショット 2021-04-21 15.58.04.png
DHCPオプションには「Default DHCP Options for VCN_IPv6」、セキュリティ・リストには「Default Security List for VCN_IPv6」を指定します。
いずれもVCN作成時にデフォルトで作成されたものです。
スクリーンショット 2021-04-21 20.50.26.png

4. ルート表へのルート・ルールの追加

サブネット「Subnet_IPv6」に関連づけたルート表「Default Route Table for VCN_IPv6」にルート・ルールを追加します。
スクリーンショット 2021-04-21 15.59.31.png
まずはIPv4のインターネットへのトラフィックをインターネット・ゲートウェイにルーティングするルート・ルールです。
スクリーンショット 2021-04-21 16.03.22.png
次にIPv6のインターネットへのトラフィックをインターネット・ゲートウェイにルーティングするルート・ルールです。
スクリーンショット 2021-04-21 16.03.50.png
ルート表「Default Route Table for VCN_IPv6」にルート・ルールが追加されました。
スクリーンショット 2021-04-21 16.04.17.png

5. セキュリティ・リストのセキィリティ・ルールの編集

サブネット「Subnet_IPv6」に関連づけたセキュリティ・リスト「Default Security List for VCN_IPv6」のセキュリティ・ルールを編集します。
スクリーンショット 2021-04-21 16.04.54.png
デフォルトでは以下のようなセキュリティ・ルールが設定されています。
スクリーンショット 2021-04-21 16.05.23.png
今回はアクセス確認なので、デフォルトで作成されているIPv6-ICMPに関するセキュリティ・リストを編集し、インターネット側からのIPv6でのPingに応答するように変更します。
スクリーンショット 2021-04-21 16.06.38.png
デフォルトではこちらのようになっています。
スクリーンショット 2021-04-21 16.07.00.png
これを以下のように変更し、全てのアドレスからIPv6のpingを許可します。
スクリーンショット 2021-04-21 21.12.05.png

6. Computeインスタンスの作成

Computeインスタンスの作成は、通常の手順と同じです。
今回は以下のような設定で作成しました。
スクリーンショット 2021-04-21 16.10.16.png
スクリーンショット 2021-04-21 16.12.18.png
スクリーンショット 2021-04-21 16.12.47.png
スクリーンショット 2021-04-21 16.13.22.png

7. ComputeインスタンスへのIPv6アドレスの割り当て

Computeインスタンスが実行中になったことを確認したら、ComputeインスタンスにIPv6アドレスを割り当てます。

画面左下にあるリソース欄の「アタッチされたVNIC」をクリックします。
スクリーンショット 2021-04-21 16.15.23.png
VNIC名をクリックします。
スクリーンショット 2021-04-21 16.15.37.png
VNICの詳細が表示されます。
スクリーンショット 2021-04-21 16.16.06.png
画面左下にあるリソース欄の「IPv6アドレス」をクリックします。
スクリーンショット 2021-04-21 19.38.37.png
「IPv6アドレスの割当て」をクリックします。
スクリーンショット 2021-04-21 16.26.18.png

IPv6アドレスを入力し、「割当て」をクリックします。
スクリーンショット 2021-04-21 16.26.43.png

VNICにIPv6アドレスが割り当てられました。
スクリーンショット 2021-04-21 16.27.03.png

OCIでは、VNICに割り当てられたIPv6アドレスは、プライベートIPアドレスだけでなくパブリックIPアドレスとしても使用されますので、インターネット側からアクセスする際にも、こちらで割り当てたIPv6アドレスを利用します。

8. OSレベルでのIPv6アドレスの有効化

opcユーザとして、Computeインスタンスにログインします。

ifconfigコマンドでネットワークインターフェースの状態を確認します。

[opc@computeipv6 ~]$ ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.0.0.100  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::17ff:fe01:d903  prefixlen 64  scopeid 0x20<link>
        ether 02:00:17:01:d9:03  txqueuelen 1000  (Ethernet)
        RX packets 2721  bytes 836707 (817.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3420  bytes 2104526 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 403  bytes 28859 (28.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 403  bytes 28859 (28.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

以下のコマンドで、ネットワークインターフェース「ens3」にIPv6アドレスを取得します。

sudo dhclient -6 ens3

再度、ifconfigコマンドでネットワークインターフェースの状態を確認します。

[opc@computeipv6 ~]$ ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.0.0.100  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::17ff:fe01:d903  prefixlen 64  scopeid 0x20<link>
        inet6 2603:c021:0:86ff:1::1  prefixlen 128  scopeid 0x0<global>
        ether 02:00:17:01:d9:03  txqueuelen 1000  (Ethernet)
        RX packets 2721  bytes 836707 (817.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3420  bytes 2104526 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 403  bytes 28859 (28.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 403  bytes 28859 (28.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ネットワークインターフェース「ens3」にIPv6アドレス「2603:c021:0:86ff:1::1」が割り当てられたことが確認できました。

9. IPv6アドレスでの接続確認

ComputeインスタンスのIPv6アドレス「2603:c021:0:86ff:1::1」に対して、自宅のコンピュータからping6コマンドを打ってみます。

スクリーンショット 2021-04-21 19.25.03.png

無事、ping応答が返ってきました。

まとめ

ComputeインスタンスにIPv6アドレスを使用してアクセスできることが確認できました。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2