質問: ### 前提・実現したいこと ラズパイ(Raspbian)でミニwebサーバーを作っています。 外部からアクセスできなくなったのを改善したい。 ### 発生している問題・エラーメッセージ iptableなどの設定後、ポートフォワーディングでグローバルIPアドレスから、LAN内につないだラズパイにアクセスできるようにしました。 apache2のテストhtmlや自作のhelloworld表示htmlではきちんと表示されたのに、次の作業後に問題が発生しました。 mod_wsgiをapache2に導入後、pythonスクリプトを表示させるテストをしたところ、LAN内では、’ラズパイのIP(固定されている)/test’とブラウザに入れればpythonのテストスクリプトが出力されるように設定し、うまくいったのです。 しかし、iPadやAndroid携帯などの携帯キャリアの回線から、グローバルIPアドレスを入れ込んだところ、 ``` ページを開けません。サーバーが応答を停止しています。 ``` と出てしまい、閲覧ができなくなってしまいました。これはなぜ起きているのかわかりますでしょうか?もし解決策が分かる方、アドバイスいただけますと、大変助かります。 <ご指示いただき状況追記> ご関心お寄せいただきありがとうございます!まとめますと、下記のような状況です。 (最初) 構成 ハード:自宅内LANークライアントPC2台ーサーバー用ラズパイ1台 ポートフォワーディング グローバルIP- ポートフォワーディング→ラズパイプライベートIP(固定) apache2 でweb公開 ファイアウォールは80番解放 HTTPは80番ポート (昨日まで) 自宅内LANクライアントPC2台 見ているIP:(ラズパイ個別)/(状況):helloworld.html見える ソフトバンク回線iPad,Android 見ているIP:(グローバルIP)/(状況):helloworld.html見える (今日、mod_wsgi をapache2に導入 /var/www/html にhelloworld.py実装後) 自宅内LANクライアントPC2台 見ているIP:(ラズパイ個別)/(状況):helloworld.html見える・helloworld.py見える ソフトバンク回線iPad,Android 見ているIP:(グローバルIP)/:helloworld.html見えない・helloworld.py見えない です。 ご関心お寄せいただきありがとうございます。
回答: こんにちは。 LAN側からなら応答があるのに、WAN側からは応答が得られないということは、WAN側からの経路のどこかが途切れている筈です。 下記の可能性はあると思います。(他にもあると思いますが、これくらいしか思いつきませんでした。) 1ルータが再起動したなどで、WAN側IPアドレスがいつの間にか変わっていた 2何かのミスでルータの設定が変わっていた 3iPad,Androidをsoftbank回線で使っているつもりが、実はWiFiがONになっていた。 (LAN側から自WAN側IPへバケットを投げた時に中継しないルータは少なくないようです。) 4ラズパイ側(apache2含む)のセキュリティ設定が変わり、グローバルIPに応答しなくなっている (そんな設定はないかも知れません。可能性を想定してみただけです。) ラズパイ側からの応答が届いていない可能性を思いつかなかったので4はちょっと無理やりです。 123を確認しても正常でしたら、ラズパイへバケットが届いているかどうかは追加装置無しで確認できます。 ルータのポートフォワーディング設定をPC側へ一時的に変更し、Wireshark等パケットキャプチャソフトを使ってPCに届くパケットを監視します。(Wiresharkは無償で使えます。) そして、iPad等から自宅IPへブラウズしてみてください。80番ポートへ届くパケットの有無とその内容で届いているかどうか確認できると思います。 届いていないようでしたら、ルータをWAN側からのpingに応答する設定にして、PingTools等で自宅あてpingを打ってみることが考えられます。 もし、リピータハブを入手できるようでしたら、ルータ、ラズパイ、PCをリピータハブに繋いでWiresharkで確認すればラズパイからの応答の具合も監視できます。 これらの作業で絞り込んで行けばいつか原因に到達する筈です。