LoginSignup
2
2

More than 3 years have passed since last update.

自宅のPC(LAN)から自宅のサーバーにアクセスできない問題

Posted at

自宅のWEBサーバーを立てた時から疑問だった、「自宅のLANから自宅のサーバーにアクセスできない」問題を調べてみました。

ことの発端は…

以前、自宅のラズパイにWEBサーバーを立ててSSLの証明書をとってHTTPSに対応させて、安心して寝たのですが…

その翌日…
image.png

えええ、、、アクセスできない!?!?!
それに悪意のあるユーザー!?😱😱😱😱

とそんな感じで、翌日からサーバーを乗っ取られてしまったのかと背筋が凍りました…(冗談抜きで)

原因は?

しかしながら、Apacheのログなどを見ても全然普通だったので、色々試行錯誤してみるとスマホの4Gからならアクセスできることに気がつきました。
その事から、VPNを繋いでPCから見てみると普通に見れた事から、原因は自宅のLAN経由でつながっている事でした…

なので、ホット一安心して今まで自宅ではVPNに繋いでやっていたのですが、そろそろ面倒になって来たのとモヤモヤして夜しか寝れないので調べてみることにしました。

ヘアピン NATという機能

どんな風にググればいいのか分からなかったので「自宅サーバー LAN アクセスできない」みたいに調べると、以下のサイトと出会いました。

ヘアピンNATとは?

このサイトの記事を簡単にまとめと、LAN内から自宅のサーバーのグローバルIPに接続する際にヘアピンNAT非対応のルータだと
PC→ルーター→DNSサーバーまでは出来るようですが、その後のDNSサーバー→ルーターの時に自分で自分の所にアクセスしてるのでルーターちゃんがパニックを起こしてしまうらしいです。
なので、どうやら自宅のルーターではヘアピンNATというものに対応していないのが原因でした。

なんだよヘアピンNATってオシャレな名前しやがって…

対応させる方法

どうやら対応させる方法は大きく4つあるそうで

  1. VPNなどから外部のプロキシサーバを経由してWAN側からアクセスする方法
  2. ヘアピンNATに対応するルーターを利用してアクセスできるようにする方法
  3. プライベート用のDNSサーバーを構築する方法
  4. hostsファイルを編集して、ドメイン名を直接サーバーのプライベートIPにルーティングする方法

今やっているのは、1番のやつですね。
そして、自分がもう1つ調べて分かったのが、

  • IPv6で接続する

結局そのままで行くことに

前述した通り、色々とどうにかする方法はあるみたいで、その中でVPN経由かIPv6でアクセスするのがよさげな感じがしました。

なので、今回はヘアピンNATという言葉の意味と、接続ができない理由と仕組みを勉強することができて良かったです(笑)
プライベートのDNSサーバーは、時間が出来たらやってみたいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2