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

ホーム  

概要

各サーバー設定のところで「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 などになります。

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


ドメイン取得

2025年8月27日追加

ドメイン取得では、お名前.comなどが有名ですが、完全に無料ではありません。 完全に無料をご希望なら DDNS Now をおすすめします。サブドメインと呼ばれる方式ですが、 個人情報やメールアドレスなどの登録は不要で、完全に無料みたいです。 DDNS Now では、○○.f5.si の○○の部分を自由に決めることができます。

DDNS Now - 無料ダイナミックDNSサービス

ドメインを登録後、「設定」タブの「DNS設定」の「Aレコード(IPv4アドレス)」にご希望の IP (例: 000.000.000.000) を記入して 画面下の「設定を更新する」ボタンを押すだけで設定完了です。すぐに繋がるみたいです。 ターミナルで次のようにコマンドするとドメインと IP が設定されているのがわかります。


      nslookup ○○.f5.si
      
      # あなたが設定した IP が表示されます。
      例: 000.000.000.000
      
       


お名前.comのレンタルサーバーについて

2025年8月9日追記

次の節で「ドメイン登録」について説明していますが、お名前.comでドメインを取得した場合は、 自動的にお名前.comのレンタルサーバーに加入したことになります。初月こそ無料ですが、次月から月額2637円請求されます。 明示的に解約手続きを取らない限り、加入していることになります。解約手続きは次のとおりにします。

  1. お名前.com Navi にログインします。
  2. 左側の「ドメイン」メニューの「レンタルサーバー」の上にマウスを持っていくとサブメニューが表示されます。
  3. 表示されるサブメニューで「利用レンタルサーバー一覧」をクリックします。
  4. 表示されるレンタルサーバ一覧の一番右に縦に点(・)が3個並んだアイコンがあります。
  5. そのアイコンをクリックすると「解約」メニューが表示されます。
2025年8月19日追記

訂正です。はじめての請求では、1ヶ月分ではなく、2ヶ月分請求されます。つまり5000円以上請求されます。 レンタルサーバーが不要な方は、ドメイン登録後、すぐに上記の方法で解約することをお勧めします。 お名前.comのレンタルサーバーは、ドメイン登録と同時に、自動的にレンタルサーバーにも加入したことになってしまいます。

2025年8月25日追記

再び訂正です。お名前.comのレンタルサーバー代は解約してもしなくても最低3ヶ月は請求されるみたいです。当然解約しなければ 永遠に請求されます。私同然予算が厳しい方は上記の方法で解約しておくことをおすすめします。 なお、ドメインについても毎年請求がありますので、かなりの負担というか、不安になってきますねー。

お名前.comでドメインを取得して設定する方法は、次の「ドメインを登録してみる」で残しておきますが、もっと安くつく方法がないか 考えたほうが良いのかなと思っています。とりあえずお名前.comから年間通して、どれくらい請求があるのかもっと分かりやすくしてもらわないと、不安でしかたがないんだけど


ドメインを登録してみる

私の場合は、家庭用ルーターに外部からアクセスするには、「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
    
      


3296 visits
Posted: Jul. 30, 2025
Update: Aug. 27, 2025

ホーム   目次