- 締切済み
プログラムに別のPCからアクセス出来ません
Linux機にて、ある学習用プログラムを走らせています。 ブラウザを介して利用するようになっており、 「http://(LinuxのIPアドレス):8081/」でアクセスする仕様です。 ルータを通しているので、 「LinuxのIPアドレス」をローカルIPとして設定したところ、 本機では無事に動作を確認出来ました。 ところが、同じLAN内の他のPC(Windows機)からアクセスしても、 「Webページ表示不可」とエラー画面が表示されてしまいます。 Win機のルータへの接続が有線でも無線でも同じです。 また、別回線からのアクセスを行う為に、 ルータにてアドレス変換(静的NAT、プロトコルはHTTP)の設定をしたのですが、 同様にエラー画面が表示されアクセス出来ません。 何か原因がお分かりの方、対策をご教授頂ければ幸いです。 よろしくお願い致します。 ※Linux機 メーカー:自作 OS:Fedora18 MB:MS-7210Ver.3.0 CPU:Intel® Pentium(R) 4 CPU 3.40GHz × 2 メモリ:2GB HDD:SeagateBarracuda500GB ※ルーター メーカー:Buffalo 型番:WHR-AMG54
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
>REJECTと表示してある箇所を見ればよろしいのですよね? 全体を貼り付けた方がいいかと思いますけど……。 とりあえずINPUTだけ。 [root@localhost ~]# iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere INPUT_direct all -- anywhere anywhere INPUT_ZONES all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-host-prohibited 2つ目のACCEPTが、どう機能するのかちょっと怪しいところですが……。 INPUT_directってチェインがあるのでそちらを参照してみます。 Chain INPUT_direct (1 references) target prot opt source destination 空でした。 次にINPUT_ZONESチェインを。 Chain INPUT_ZONES (1 references) target prot opt source destination IN_ZONE_public all -- anywhere anywhere さらにIN_ZONE_publicチェインを。 Chain IN_ZONE_public (1 references) target prot opt source destination IN_ZONE_public_deny all -- anywhere anywhere IN_ZONE_public_allow all -- anywhere anywhere IN_ZONE_public_denyチェインとIN_ZONE_public_allowチェインを。 Chain IN_ZONE_public_allow (1 references) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ctstate NEW ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns ctstate NEW Chain IN_ZONE_public_deny (1 references) target prot opt source destination IN_ZONE_public_allowチェインでsshのポートの受け入れが指定されています。 他は無いみたいですな。 んで、INPUTチェインに戻ると…最後に REJECT all があるので破棄されます。 iptablesを止めてみます。 [root@localhost ~]# systemctl stop firewalld;iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@localhost ~]# 全てのルールが削除され、ACCEPTになっています。 この状態で外部から接続してみてはどうでしょうか? あるいは…IN_ZONE_public_allowチェインに今回のポート番号を許可するルールを追加する。 とかですかね。 http://diary.sshida.com/c-Fedora%2018&p=1 とかでしょうか。
- Wr5
- ベストアンサー率53% (2173/4061)
>iptablesは初期設定のままですので、拒否するようにはなっていないと思います。 初期設定のまま…だったら拒否しているかと思われますけど…… iptables --list したらどうなります?
- Wr5
- ベストアンサー率53% (2173/4061)
>「http://(LinuxのIPアドレス):8081/」でアクセスする仕様です。 >ルータを通しているので、 >「LinuxのIPアドレス」をローカルIPとして設定したところ、 >本機では無事に動作を確認出来ました。 アクセスしている端末とサーバは同じマシンですか? iptablesで拒否しているとか、そういうことはありませんか? >ところが、同じLAN内の他のPC(Windows機)からアクセスしても、 >「Webページ表示不可」とエラー画面が表示されてしまいます。 WireShark等でパケットキャプチャしてみて、サーバに正しく接続できているのか確認できませんか? # サーバ側のhttpdのログを確認でもよいですが…。 # 作成したアプリ自身が待ち受けしているのであれば、httpdのログには残らんでしょうが…。
お礼
>アクセスしている端末とサーバは同じマシンですか? そうです。 同一端末内でのみ、プログラムの動作を確認出来ました。 >iptablesで拒否しているとか、そういうことはありませんか? iptablesは初期設定のままですので、拒否するようにはなっていないと思います。 >WireShark等でパケットキャプチャしてみて、サーバに正しく接続できているのか確認できませんか? 無線LANで接続しているWin機にWireSharkをインストールして確認してみました。 恐らく該当すると思われる箇所には、 「Destination unreachable (Host administratively prohibited)」 と表示されています。 Linux機の設定に問題が有るのでしょうか?
お礼
初期設定が拒否状態なのですね… 良くお分かりになったと思いますが、当方素人でして。 すみません。 REJECTと表示してある箇所を見ればよろしいのですよね? Chain INPUT、Chain OUTPUTともにall -- anywhereとなっています。