Raspberry Pi(Linux)にお名前ドットコムでドメイン名を割り当てる(ほかのDDNSサービスは使わない)

VPNサーバでも、webサーバでも外部からアクセスしようとするとドメイン名って割り当てたくなりますよね。特にwebサーバだとほぼ必須だといってもいいかもしれません。このページではなんとなくわかるぐらいの簡単な説明を交えながら説明していきます。Raspberry Piとしてはいますが、Linuxであれば基本同じ方法で大丈夫です。

調べていると、Raspberry Piにお名前ドットコムだけでドメイン名を付けている人がいなかったのが今回のこの記事を書くきっかけです。「MyDNS」などの無料DNSサービスを経由している人がほとんどなのですが、これのリスクについても少しふれておきます。わかってるという人は導入の部分だけでも読んでいただけば大丈夫です。今回は、ポートフォワードなどの設定には触れずどのように自宅にドメイン名を割り当てるかを書くことにします。その他、自宅にはグローバルIPアドレスが割り当てられているなどサーバを立てる前提はクリアしているものとします。

では説明を始めていきます。

目次

ドメインを割り当てる理由

そもそもなぜ割り当てる必要があるかを知っていたほうがいいと思います。IPアドレスというインターネットの住所が関係あるのですが、それとドメインの関係をごく簡単に下に書いておきます。

IPアドレスとドメインのすごく簡単な説明

IPアドレスとは先ほども書いた通りインターネットの住所です。「123.456.789.123」みたいな数字です。このIPアドレスという住所は世界で1つしかない数字の列です。非常にわかりにくいです。しかもこれなんですが、自宅の数字はたまに変わっています先ほどまで上記の数字だったのが「123.123.123.123」みたいに変わったりします。割とランダムに近い数字に変わると思っていただいて大丈夫です。これの何が厄介かというと数字を覚えても、たまにこのIPアドレスが変わってしまうためにこのIPアドレスを入力してアクセスしようと思っても、いつかアクセスできなくなる日が来るわけです。

さて、ここで「ドメイン名」の登場です。このドメイン名は先ほどの「123.456.789.123」の数字をドメイン名という文字列に紐づけます。たとえで言うなら、郵便番号と住所の関係とかででようか。例えば「東京都新宿区四谷」と「〒160-0004」が相互に変換可能なのがわかりやすいでしょうか。実例だと私の「www.thunsuke.com」と「123.456.789.123」は紐づけられているということです。もし「123.123.123.123」に変わっても「www.thunsuke.com」といれればIPアドレスの数字が変わる前と同じようにアクセスできるということですね。

あとは副次的な効果として覚えやすくなることです。数字の列だったら覚えられないけど、意味のある文字列なら覚えれるという人も多いと思います。こういう覚えやすさや入力のしやすさもドメイン名を導入する効果とも言えます。

こんな疑問を持つ方もいるかもしれません。IPアドレスが変わったら紐づけてた名前だと違うところにアクセスしてしまうのでは…?という疑問。これもあとで少し書いておきます。

一言でまとめると、IPアドレスというコロコロ変わる住所に自分だけの名前を付けておいたというのがドメイン名なのです。

IPアドレスが変わってしまったときは…

今見ているあなたたちや、あなたたちにTHUNのサイトはここですよーって教えてくれる「DNSサーバ」というものの立場から考えてみます。もしIPが急に変わると、「間違えている」このサイトのIPアドレスを「DNSサーバ」から教えられ、それを受けたとったあななたたちユーザは違うIPアドレスにwebサイトを見せてくださいと言っていると思いませんか?

IPアドレスが変わると相手のサーバーからこちらの正しいIPアドレスを探すことができないのでは?ということなのですが、その通りです。変わってしまって、何もしないで放置してると、昔のIPアドレスにドメイン名が紐づけれられたままになってしまいます。

なので、これを更新する作業というのが必要になります。ちなみにこの更新する作業が、Linuxのwebサーバでお名前ドットコムでドメインをとるにあたって障壁になっています。調べても書いていないことですからね。これについては後述しますが、更新する作業がサーバーの設定として必要であるということを知っておいてください。

Raspberry Piのドメインの取得にお名前ドットコムを選んだ理由

ある程度調べられている方だとご存じかもしれませんが、ドメインを取得できるところは割と日本でも調べればたくさんでてきます。例えば「エックスドメイン」だったり、「ムームードメイン」だったり、「お名前ドットコム」だったりです。そこまで掘り下げてみていないのですが、一応比較する要素と求める条件はこんな感じでした。

  • ドメインのみの料金で安いこと。(サーバセットとかは不要)
  • 更新料も高すぎないこと
  • DDNSを使えること。
  • サブドメインではないこと
  • Whois代行サービスが使えること

順を追って説明すると、値段に関してはどこも「.com」みたいな末尾が同じであれば大体同じような値段です。初期の取得料金だけ多少安かったりとかかな。更新料もそんなに変わりませんでしたが、お名前ドットコムが日本のサイトだと一番安かった気がします(私が調べた限りはというところですが)。なのでここはそんなに分岐点にはなりませんでした。

DDNSが使えることって書いてますが、何かっていうとさっきのIPアドレスが変わっても同じドメイン名でアクセスできるっていうのがこれです。これ以上特に深く考える必要はないです。結構これがやっていないところが多く、調べても私の調査力では、「お名前ドットコム」のみが条件を満たしていました。ほかのところでは、他のDDNSサービスを経由しないといけないという感じだったので止めました。どこかのサービスだけでどうしても一つで完結させたかったのです。理由は後で書きますね。

サブドメインではないことっていうのは、私はGoogle Adsenseに申請したかったので、Google Adsense の審査に出せるURLなら何でもよかったというところです。ほとんどのサービスでこの条件が満たせます。無料のドメイン取得サービスだとほとんどがこのサブドメインにはいるので候補から外れます。

Whois代行サービスはかなり大事です。実はドメイン名というのをとある専用のサービス検索すると、名前とか住所とか事業者名が全部出るようになっています。この代行サービスがないと、自分の名前や住所とIPアドレスが結び付けられるという結構いやな情報がインターネットに流れることになります。これをドメインをできる会社の名前とかで一括管理してくれるが、Whois代行サービスというものだと思ってください。私のドメインを検索するとお名前ドットコムの名前が出てきます。これは日本の事業者だと提供しているところが多かったのですが、もっと安く取得できる海外などだとないので自動的に日本国内のサービスから取得することになりました。

上記のような理由でお名前ドットコムにたどり着いたわけです。

他のDDNSのサービスと組み合わせて使いたくない理由

webで検索するとほとんどの人が「MyDNS」などのDDNSサービスを利用してそれを経由してお名前ドットコムのアドレスから自分のサイトに行けるようにしている人がほとんどみたいです。

私がこの方法をしたくない理由が以下になります。

  • MyDNS側にトラブルがあると面倒
  • 無料サービスが大半なのでいつかなくなるかもしれない
  • 管理するパスワードが増える

こんなところです。一番の理由はやはり、無料サービスなのでいつか急になくなる可能性もあるということですね。この手の無料サービスだと「DynDNS」というのがあったのですが、このサービスはかつて無料でした。しかし、最近になって有料(しかも割と高額)に変わったというものがあります。このような事態が起こると相当面倒ですし、維持費も一気に増えてしまう可能性があるので、絶対にほかのDDNSサービスは使わない方向にしたかったというところです。

ちなみにパスワードのくだりは、忘れてレコードが編集できなくなって面倒なことになっている人もいるようなのでうっかり屋の私的には避けたかったというところです笑。

お名前ドットコムを利用する前に少し悩んだこと

難しい内容をかみ砕かないで書くので不要なら読み飛ばしても大丈夫です。少しでも理解してみようって方は用語を調べながらがいいと思います。結構知ってるよって方は私が何を思ったがわかるかと思います。

DDNSのレコードの更新を自動化しつつ、Linux(Raspberry Pi)から利用できるのかというところです。ほかの方が自動で更新する方法をいくつか掲載してくれてはいたのですが、情報が少し古かったり、実際にドメインを買ってみないとわからないことが多かったです。あと自動更新の方法がWebサーバーには不要なPythonとかRubyなんか使ってる人がほとんどで、スクリプトにID、パスワードを平文で記述したうえで利用しなければならないということでした。もしこれを何かの拍子で読み取られたり、漏れだしたりすると悲劇です。ドメインを乗っ取られてしまいます。なので少しでも安全に、低負荷でできないかなということでツールを自作することにしました。RubyとかPythonがなくてもC言語をコンパイルできる環境なら大丈夫なようにというのを心がけてツールを作りました。結果的に自動更新はできて、C言語で書いたのでコンパクトに実装できたので本記事で紹介しているというわけです。

ドメインを買ってホスト名を設定する

さて本題です。今回はルーターのポートフォワードの設定は行っているものとして、IPアドレスを直接入力するとwebサーバなりにアクセスできるという前提で話を進めます。なくてもドメイン名を割り当てることはできますが、動作の確認はほとんどできません。IPアドレスを正引きして同じということしか確認できません。では始めます。

細かいことは省きますがお名前ドットコムでとりあえずドメインを買いましょう。更新料や、初期費用、名前などと相談してお好きなドメインをとってください。その途中で出てくる「お名前ID」と「パスワード」はIP更新の自動化でも、今後のログインでも絶対に使うので忘れないようにしてください。

次にお名前ドットコムにログインしたら、左上あたりにある「TOP」を選択し、次によく利用される手続きにある「DNSレコードを設定する」を選びます。次にドメイン名にチェックを入れて「次へ」を選択。そしてDNSレコード設定を利用するの「設定する」を選択する。

これに「ホスト名」というのを設定して利用します。多くの方がwwwとかに設定していると思います。どんな文字列でも大丈夫ですが無用なトラブルを避けるためローマ字にしましょう。ここで設定する「ホスト名」は自動更新ツールで利用するので覚えておきましょう。いままでドメインとかドメイン名と言っていたのはここの空白の下の部分です。「thunsuke.com」の部分を「ドメイン名」というので「ホスト名」と混同しないようにしてください。

例えば「www.thunsuke.com」だと「www」が「ホスト名」、「thunsuke.com」が「ドメイン名」です。「ドメイン名」も自動更新ツールで利用しますので忘れないようにしてください。

「ホスト名」を設定したら次はVALUEという値をいじるのですが、わかるのであれば今のグローバルIPアドレスを入れたらいいと思います。時間を多少かけていいとか、わからなければ適当に数字を入力して大丈夫です。どうせ自動更新ツールで正しく割り当てられるので。

他のところはいじらないでいいのでこれで追加を押します。これでお名前ドットコム側はいったん終了ですが、あとで確認するときにまた開きます。

次はサーバ側の作業を行っていくことになります。

自宅サーバからIPアドレスを通知するように設定(onamae_ddnsを使用)

私の作成したonamae_ddnsというツールを使います。設定は以下のページにまとめていますが、ここで必要なのは先ほどの「ホスト名」「お名前ID」「パスワード」「ドメイン名」の4つです。以下のページ通りに設定を行って自動化までを済ませてください。この設定がうまくいかないと自動化できません。

"onamae_ddns"のコマンドを実行した際に最後に出ているあなたのIPアドレスをメモしてください。これが、お名前ドットコムの先ほど設定した「VALUE」の値から変わっているか(もとから正しいIPを設定していたらそのまま)を確認してください。

これで設定は完了となりますが、DNSの設定が浸透するのには時間がかかります。なのですぐに自分のところにアクセスできるとは限らないので、ゆっくり待ちましょう。私の場合は20分ぐらい最初はかかりました。

アクセスできるか確認する

ポートフォワードの設定も正しくできていることはできている前提で、インターネットからアクセスしたときにURLバーに自分のサイトの名前を表示できるようにしておきましょう。上にも書きましたが、DNSが浸透するのには時間がかかるので、しばらく待ってからこの工程を行ってください。

WordPressををご利用の場合はそちらを開いてください。このときのアクセスはまだローカルIPの「192.168.x.xxx」の形でアクセスしてください。一般設定から「WordPerssアドレス」と「サイトアドレス」を自分のドメインに変えておきましょう。これで設定を保存すると、おそらく先ほどのローカルIPではアクセスできなくなります。これであなたのURLをブラウザに入力すると、インターネット側からは見えるのですが、LAN内の同じネットワークからは見えません。携帯電話などの別回線で外部からアクセスできるかを確認してください。確認ができたら、最後は安心を高める前にhttps化をしてしまいましょう。https化については以下の記事で説明しています。

次はこちらのページです。

以上です。お疲れ様でした。

投稿日:
カテゴリー: Linux

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です