さて、完全に備忘録ですが、ドメイン引っ越しのその1で
headscaleの移行をやっています。
とりあえずレアケースですので、日本初かも(笑)
ということで記録に残しておきます。
headscaleの管理サーバーのドメインを引っ越すものです。
前提条件としては
サーバー自体の物理的配置は変わらない
です。
つまりサーバーはIPアドレスは変わらず、そのままでドメインのすり替えを試みます。
管理サーバーのドメイン依存の部分は何かと考えると
1.DNS
2. headscale定義内のドメイン登録
3. nginxの振り分け指定
4. SSL証明書
となります。
対外的にサーバーが外からどう見えるかがまず重要です。
これはDNSの差し替えとなります。
Cloudflareで管理させていますので、複数ドメイン設定を行い、一時的に
両方のドメインで参照できるようにします。
ゆくゆくは旧ドメインの設定は消します。
ここでheadscaleサーバーはhttpsでの通信を行います。
なので差し替えはSSL証明書が問題になります。
Let's Encryptなんで新しいSSL証明書を生成します。
https通信はnginxで受けていますので、nginxの設定でssl設定ができます。
headscaleの設定内ではドメイン名を指定していますので、
これを変更します。
headscaleでサーバーへsshで入っていますがMagicDNSでの接続で
VPN内になるので一時的な切断がどうしてもSSHが繋がらなくなる危険が
あります。
なのでファイヤーウォールで22を開けて外部からのsshを許可しておきます。
普段はポートCloseでMagicDNSでの接続です。
外部からのSSHでログインしておいてheadscaleを再起動しました。
特にエラーはでませんでした。
まあDNSで新旧ドメインからアクセスできるので騙されてくれていそう。
後はクライアントからの接続です。
クライアントはtailscaleですが、ソフトで認証サーバーを指定しているので
旧ドメイン名が入っていますので、これを切り替えします。
スマホ、Linux、Windowsと端末があるので順次切り替えをします。
LinuxはDaemonと接続コマンドが別れていることに注意します。
一旦接続を切るので
tailscale down
tailscale up --reset
を実行します。
その後、
tailscale up --login-server=https:headscale.exsample.com
で接続しなおしです。
この時にオプション指定しろと言われるかもしれないので
そこは指示に従います。
これで接続され元通りになりました。
いまのところは問題ないです。
順次DNS名を削除してみて問題がないかの確認をします。
まずはVPNが元に戻るところからです。
上記手順をみてもドメイン名に依存して動作しているのがわかりますね。
なので、ドメイン消失は大事(おおごと)なのです。
最近Amazonの大規模障害もDNSがらみだったらしいですね。
インターネットの根幹技術であるDNSはトラブル対処できるように
理解しておくのが大切です。
ではでは。