自宅サーバーをインターネットに公開する

ホーム  

概要

各サーバー設定のところで「Linux の ip a コマンドで取得した inet アドレスは、ローカルアドレスとパブリックアドレスです。そしてパブリックアドレスはインターネット上に公開されています。」と書きましたが、それは間違いでした。

Linux の「ip a」コマンドで取得した inet の「197.0.0.1」というアドレスは、以前説明したとおりローカルアドレスです。ローカルアドレスはその機器 (コンピュータなど) のなかで使えるアドレスです。もう一つの「xxx.xxx.xxx.xxx./xx」というアドレスは、パブリックアドレスとは呼ばれていますが、インターネット上には公開されていません。このアドレスは、お使いのルーターが、各機器 (コンピューターなど) を区別するために使っているアドレスです。


インターネット上に公開されている IP アドレスの確認方法

実際に、インターネットに公開されている IP アドレスは、次のようにして確認します。Windows、Mac、Linux で同じコマンドが使えます。


      curl httpbin.org/ip
      
      
      # 次のように表示されます。
      "origin": "xxx.xxx.xxx.xxx"
      


家庭用ルーターに割り当てられた IP アドレスの問題点と解決方法

このアドレスは、お使いのルーターに割り当てられていますが、次の二つの制限があります。

  1. このアドレスが割り当てられているルーターの LAN 内からは、このアドレスにアクセスできない。
  2. 家庭用のルータは、外部からのアクセスを拒否する設定にされている。

1. については、インターネットの接続をお持ちのスマホの会社の回線に変えれば、繋がるようになりますので、アクセス確認はできます。

2. については、ルータの設定を変更します。


ルーターの設定の変更方法

ここでいうルーターというのは、Wi-Fi を使っている場合は、Wi-Fi ルーターのことです。

私の場合は、NEC の Aterm を使っています。あくまでも、Aterm での設定方法になりますので、違う場合は各自でお調べください。

  1. ルーターは、ブラウザからアクセスして設定します。アクセスするアドレスは「(お使いの機種名) 設定アドレス」などと検索する見つかると思います。
  2. ルータにアクセスするとログインするためのアカウントとパスワードを尋ねられます。アカウントは表示されていて、パスワードは Wi-Fi ルーターに書かれていると思います。
  3. ログインできましたら「ポートマッピング設定」を選びます。
  4. 「ポートマッピング設定」画面で「追加」をクリックします。
  5. 各項目を次のように設定します。
    1. 優先度:1 〜 50 で設定します。数字が小さいほど優先度が高いです。私は 1 に設定しました。
    2. LAN側ホスト:ここに「ip a」で調べたパブリックアドレスを記述します。インターネットに公開されていないほうで、ルーターが各機器 (コンピューターなど) を区別するために使っているアドレスです。
    3. プロトコル:TCP のままにしておきます。違う場合は、各自で調べてください。
    4. 変換対象ポート番号:ここは機種によって、たんに「ポート番号」などとなっている場合があります。それについては後述します。
      設定画面上部に「利用可能ポート」という一覧があると思います。そのなかから任意の番号を選びます。
    5. 宛先ポート番号:今回は、Laravel アプリを公開するために、WEB サーバーに割り当てられている 80 を設定します。
    6. 変換対象ポート番号がなくて、ポート番号もしくは宛先ポート番号となっている場合:
      「any」項目がある場合は、どのポート番号でもアクセスすることができるようになります。ただし危険なので推奨されていません。
      番号欄が一つの場合は 80 と入力します。
      番号欄が [ ] ~ [ ] などと範囲を示している場合、80 ~ 81 などとします。
    7. 記入が終わったら「設定」ボタンをクリックします。ルーターが再起動されます。

アクセス確認

前述したように、インターネットに公開されている IP アドレスを割り当てられているルーターが管理する LAN 内からは、アクセスできません。インターネット接続をお使いのスマホの会社の回線に切り替えるなどして、アクセスしてください。

アクセスするアドレスは「(インターネットに公開されている IP アドレス):ポート番号」になります。ポート番号のところは変換対象ポート番号で設定した番号か、80 などになります。

もしかすると、変換対象ポート番号の設定が必要なかった機種では、アクセスするときに、ポート番号が必要ないのかもしれませんが、私には分かりません。


ドメインを登録してみる

私の場合は、家庭用ルーターに外部からアクセスするには、「IP アドレス + ポート番号」になります。 URL にすると「example.com:15666」などでアクセスすることになりますので、あまりありがたみがないです。 それに家庭内からは、インターネット回線を切り替えないとアクセスできないというのも不便です。

それでも、ドメインを登録してみたいという気持ちが大きく。また、ドメインが欲しいという人も多いだろうと思うので、ドメインを取得してみました。

今回はお名前.comで無料のドメインを取得してみました。最初の画面で色々なドメインを試して、無料のを探してください。もちろん、有料で良ければ、それも探してください。無料ドメインの場合も初年度だけ無料と永久無料があるみたいです。各自の責任でドメインを取得してください。

ドメイン取得が完了すれば、お名前.comからのメールにしたがい設定画面にログインして、次のように設定していきます。いたるところに有料トラップが仕掛けられていますので、変なところはクリックしないように注意してください。

  1. 管理画面にログイン
  2. 左側の「ドメイン」メニューの「ネームサーバー/DNS」の上にマウスポインターをもっていくとサブメニューが表示されます。そのなかから「ドメインDNS設定」を選んでください。
  3. 次の画面で、登録したドメインの右に表示されている青い「ドメインDNS」ボタンをクリックします。
  4. 次の画面で、「DNSレコード設定」をクリックします。
  5. 次の画面の「レコード追加」タブを選択し、次のように設定します。
    1. ホスト名:空欄のままで良いです。変に設定すると、変な URL になります。
    2. TYPE:A を選びます。あくまでも Laravel アプリを表示する、WEB サーバーとしての使用なので、今は A で十分です。
    3. TTL:初期値のままで良いと思います。
    4. VALUE:ルーターに割り当てられているインターネットに公開されている IP アドレスを入力します。
    5. 状態:有効のままにしておきます。
    6. 追加:「追加」ボタンをクリックします。
    7. 下のほうにスクロールして、「レコード情報の登録とあわせてDNSレコード設定用のネームサーバー(01.dnsv.jp / 02.dnsv.jp / 03.dnsv.jp / 04.dnsv.jp)に変更する」にチェックを入れます。
    8. 右下の「確認画面へ進む」をクリックします。
    9. 有料画面のようなものが表示されたら「設定しない」を選びます。もし入りたっから、ご自由にしてください。
    10. 次の画面で右下の青い「設定する」ボタンをクリックします。
    11. 「お手続きを受付いたしました。」と表示されます。
    12. 「更新手続きはこちらから」というボタンが表示されても無視します。有料トラップがあちらこちらにあるので注意してください。
    13. 画面上部の「ログアウト」をクリックして、ログアウトします。
  6. あとは設定が完了するのを (ドメインが開通するのを) 待ちます。「24時間から72時間で開通します」と通知がきますが、かかっても数時間だと思います。
  7. 待っているあいだに、ターミナルに次のようにコマンドします。開通すると、自分の IP アドレスが表示されます。自分のとは違うアドレスが表示される場合は、まだ開通していません。
    
          nslookup あなたが登録したドメイン
          
          例:nslookup example.com
          
  8. 私の場合は、14:31分に登録して、DNS レコード設定完了メールが 14:33分。ネームサーバー設定完了メールが 14:53分。nslookup でアドレスを確認できたのが、14:59分でした。
  9. しかしブラウザでは表示できませんでした。
  10. お名前.comの設定画面へ再びログインしました。
  11. 左側の「ドメイン」メニューの「ネームサーバー/DNS」の上にマウスポインターをもっていくとサブメニューが表示されます。そのなかから今度は「ネームサーバー設定」を選択しました。
  12. ドメイン名のところにチェックを入れ、「お名前.comのネームサーバーを使う」にチェックを入れます。そして右下の青色の「確認」ボタンをクリックしました。
  13. 「完了しました」と表示されたので、ページ上部の「ログアウト」をクリックしてログアウトしました。
  14. 「ネームサーバー変更完了通知」というメールが来ました 15:53分
  15. nslookup ドメイン名で、正しい IP アドレスが表示されなくなりました。このまま待つことにします。
  16. nslookup ドメイン名で、正しい IP アドレスが表示されるようになりました。このまま待ちます。16:13分
  17. ブラウザでやっと表示されるようになりました。16:14分
  18. 【重要】IP を割り当てられているルーターが管理するローカルエリアネットワークからは、その IP アドレスにアクセスできません。アクセス確認をするには、スマホなどの会社のインターネット回線に切り替えて、アクセス確認をしてください。
  19. 再びアクセスできなくなりました。nslookup で確認すると、自分のとは違う IP アドレスが表示されました。なぜか、安定しません 16:55
  20. 安定するのには、1日くらいかかるのかも。しばらく様子を見ます。
  21. キャッシュの関係もあるとは思いますが、22時頃には安定的にアクセスできるようになりました。


コマンドまとめ


    ########################################
    Exposing my home server to the internet.
    ########################################
    
    # インターネットに公開されている IP アドレスを確認する
    
   curl httpbin.org/ip
   
   
   # URL の IP アドレスを確認する
   
   nslookup example.com
   
  
  #パブリックアドレスの確認 (LAN 内で与えられているアドレス) Linux のみで使用可
  
  ip a
    
      


1098 visits
Posted: Jul. 30, 2025
Update: Jul. 30, 2025

ホーム   目次