ConoHa の VPS を IPv6 対応させる

conoha Linux
記事内に広告が含まれています。
スポンサーリンク

ConoHa の VPS に Red Hat Enterprise Linux 9 をインストールして、Web サーバーやメールサーバーの構築をしてきました。

今回はこのサーバーを IPv6 に対応させていきます。

ネットワークインターフェイス(eth0)の設定変更

ConoHa の公式サイトに手順が載っていますので、その通り進めます。

IPv6をVPSへ設定する|ConoHa VPSサポート
ConoHa VPSのご利用ガイド、よくある質問などの各種サポート情報をご案内しています。ConoHa VPSは便利なご利用ガイドと専任スタッフのサポートで安心してご利用いただけます。

IPv6 の複数アドレスに関しては必要性を感じなかったので、セカンダリーは設定しませんでした。

ネットワークマネージャーをリスタートして反映させます。

DNS の編集

ConoHa の管理画面から DNS を開き、AAAA レコードを 2 つ追加します。

AAAA レコード(追加)

ドメインのレコードを設定する。

  • タイプ:AAAA
  • 名称:@
  • 値:IPv6 アドレス

サブドメインに対してワイルドカードでレコードを設定する。

  • タイプ:AAAA
  • 名称:*
  • 値:IPv6 アドレス

SPF レコード(修正)

既存の SPF レコードに対して、IPv6 アドレスも追加する。

  • タイプ:TXT
  • 名称:@
  • 値:v=spf1 +ip4:(IPv4 アドレス) +ip6:(IPv6 アドレス) -all

PTR レコード

続いて、逆引きホスト名の設定も入れていきます。

ConoHa 管理画面からサーバーを表示し、IPv6 の PTR レコードを編集します。

サーバーに割り振った IPv6 アドレスの逆引きホスト名を指定して保存します。

ファイヤーウォールの設定

以前設定した nftables をベースに設定を変更していきます。

nftables の設定ファイルで、ip protocol(IPv4 のルール)に対応した ip6 nexthdr(IPv6 のルール)を追加していきます。

参考サイトにしっかり書いてあったのですが、Neighbour Discovery を許可する設定を入れないと IPv6 が切断されてしまう現象でハマりましたのでご注意ください。

※上記の設定だと MUA(Thunderbird など)が IPv4 で日本国内からしか到達できない状態ですが、アクセスする環境が IPv6 に対応していないため割り切って使っています。必ず自分の環境にあった設定を確認してください。

nftables wiki

nftables を再起動して反映します。

IPv6 を有効にするサービスの設定

OpenLiteSpeed

リスナーの追加

OLS の管理画面から「リスナー」を開き、新しいリスナーを追加します。

  • リスナー名:(任意)
  • IP アドレス:[ANY] IPv6
  • ポート:443
  • セキュア:はい

バーチャルホストマップの割り当て

作成したリスナーにバーチャルホストマップを割り当てます。

プルダウンから設定済みのバーチャルホストを選択し、ドメインと紐づけます。

SSL の設定

作成したリスナーの「SSL」のタブを開き、SSL の設定を追加します。

  • 秘密鍵ファイル:Let's Encrypt で取得した privkey.pem へのパス
  • 証明書ファイル:Let's Encrypt で取得した fullchain.pem へのパス
  • 証明書チェーン:はい
  • プロトコルバージョン:TLS v1.2、TLS v1.3
  • SSL再交渉保護:はい
  • ALPN:SPDY/3、HTTP/2、HTTP/3
  • Open HTTP3/QUIC (UDP) Port:はい

設定を保存したら、OLS を再起動しましょう。

Postfix

Postfix の設定で inet_protocols に all が指定されていれば、IPv4 と IPv6 両方が有効になっています。

inet_protocols が ipv4 の場合は /etc/postfix/main.cf を修正して、Postfix を再起動します。

Dovecot

Dovecot の設定で listen に「*, ::」が指定されていれば、IPv4 と IPv6 両方が有効になっています。

listen が「*」の場合は /etc/dovecot/local.conf(もしくは /etc/dovecot/dovecot.conf)を修正して、Dovecot を再起動します。

確認

Web サーバーと、メールサーバーが正しく設定されているかチェックしておきましょう。

Test for modern Internet Standards like IPv6, DNSSEC, HTTPS, DMARC, STARTTLS and DANE.
Test for modern Internet Standards IPv6, DNSSEC, HTTPS, HSTS, DMARC, DKIM, SPF, STARTTLS, DANE, RPKI and security.txt

追記

WordPress の LiteSpeed Cache プラグインで QUIC.cloud と連携して画像を WebP に置換していましたが、最適化要求(Gather Image Data)で画像を渡すことはできても、画像を引き戻す(Pull Images)際に受け取れない状況になってしまっていました。

OpenLiteSpeed で /wp-admin に対して IP アドレスで制限をかけていたのですが、自サーバーの IPv6 アドレスを許可リストに追加することで解決しました。

コメント

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