ConoHaでIPv6が疎通しない時にする設定 (Ubuntu)

本日よりこのブログのインフラをKAGOYA CLOUD VPSからConoHaに移行しました。それに伴って色々と初期設定をしていたのですが、何故かnginxへのアクセスがIPv6で通らないという事象に遭遇し、その後無事解決できたので備忘録がてら対処法を書いておきます。

ConoHaはデフォルトで17個のグローバルなIPv6アドレスが割り当てられるが…

以前上げた記事にも書いたように、IPv6アドレスの総数は340澗個もあるせいか、ConoHaでインスタンス(サーバー)を作成すると調子に乗って17個もグローバルなIPv6アドレスを割り当ててきます。

これだけIPv6推しなのだから既にIPv6が使える状態でインスタンスが立ち上がるのだろうと勝手に思い込んでしまいますが、そんなことはありませんでした。

対処法

まず、/etc/netplan配下を見に行きます。すると、yamlファイルが1つ存在するはずです。

自分の場合は10-gmovps.yamlが存在していました。

このyamlファイルの中身を以下のように編集します。

network:
    ethernets:
        eth0:
            addresses:
              - IPv6アドレス/64 # 割り当てられた17個のIPv6アドレスから好きなものを選び入力・末尾に「/64」を付ける。
            dhcp4: true
            dhcp6: false
            accept-ra: false
            optional: true
            routes:
              - to: ::/0 # 固定値
                via: ゲートウェイ # ConoHaのインスタンスのネットワーク情報に記載の「ゲートウェイ」の値をそのまま書く
    version: 2

addressesに入力するIPアドレスは、DNSのAAAAレコードに登録しているIPv6アドレスを入力すればOKです。独自ドメインを使っていない方はお好きにどうぞ。

編集できたらファイルを保存して、

$ sudo netplan apply

と実行します。特にOSやnginxの再起動をせずとも、IPv6の通信が通るようになります。

何の設定をしたのか

routesディレクティブで何を設定しているのかChatGPTに訊いてみました。

ChatGPT
ChatGPT

routesセクション内でIPv6のデフォルトルートを設定しています。toフィールドに::/0と指定することで、IPv6の全てのトラフィックに対してデフォルトルートを適用します。そして、viaフィールドにはゲートウェイのIPv6アドレスを指定しています。

とのことでした。なるほど〜

コメント

タイトルとURLをコピーしました