プロが教えるわが家の防犯対策術!

C言語で作ったサーバーのようなプログラムをインターネット越しに
通信出きるようにしたいのですが、方法がよくわかりません。
ちなみに今まで自宅サーバとかは一度も構築したことがありません。

一応動作テストで、サーバープログラムを可動しているPCとは別に
同じネットワーク内にあるPCでインターネットブラウザを使用して、
アドレス入力欄にプライベートipアドレスを入力してアクセスしたところ、
問題なく接続できたのですが、
グローバルipアドレスを入力してアクセスすると接続することができませんでした。

たぶん、この結果ですとインターネットからの接続は無理ですよね?
ですから、どのようにすればいいのか教えてください。

使用しているルータはbuffaloのWHR-HP-Gで
プロバイダはOCN、料金プランはOCN光withフレッツマンションです。

OSはdebian lenny5.0でテストに使用したインターネットブラウザはfirefoxとw3mです。

A 回答 (4件)

マンションに一つ大きいルータがあってそこから各戸に分配しているタイプではないですか?


その場合、ルータの設定は勝手にできないので、やろうとしていることは無理ですね。(あなたのおうちがが無理かどうかはわかりません。)
    • good
    • 0

なぜ無理だったかと言うと、TCP-IPではなかったからという可能性があります。


UDPではインターネット越しの通信は不可能です。
(通信手段を書いてなかったのでTCPかUDPか不明、IPアドレスって事はどちらかなのだろうと思いましたが)

次に、ルータのセキュリティ設定。
ルータは基本的にファイアウォール機能を持ち、外部からのアクセスを排除しようとしています。
ファイアウォールに限らず、他のセキュリティ設定を変更することも場合によっては必要です。
※当然OFFにすると、セキュリティ的に大問題ですし、セキュリティを一部解除することはセキュリティホールとなり得ます

さらに、ルータのルーティング設定(用語としては不正確かな?)
グローバルIPはルータに振られます。
ルータから下はローカルIPです。
グローバルIPで通信が来た場合、ルータはどのPC(ローカルIP)に対する通信だと判断するのでしょう?
そんなこと判断しませんよ、ルータに対する通信でしかありません。
ルータに該当プログラムをインストールするしかないですね(不可能ですが)。
ルータにバーチャルサーバ機能(メーカーによって呼び名は異なる)があれば、特定ポートへのアクセスは特定PCへのアクセスであるとルーティングさせることができます。
(※簡易的な説明、実際はもっと設定項目が多い)
それを設定すれば、外部からのアクセスが可能になります。

やっと、外部からPCまでアクセスできるようになりましたので、次はPCの設定。
Wndowsファイアウォール、ウィルスバスター等のパーソナルファイアウォール機能を、適切に設定しましょう。

ここまでが最低限必要ですし、通信ができない場合どこの設定が悪いのか、調べられるスキルが必要かも知れません。
そして、通信に成功した場合は、自分から好き好んでセキュリティホールを空けているという事実も忘れてはいけないでしょう。
踏み台にならないように管理するとか、データが盗まれないようにデータを置かないとか、万一の覚悟をするとか。

と、長々と書きましたが、VPNの導入をお奨めしますね。
インターネット経由でLANを構築するようなものです。
これであれば完全に安全ですと言い切ることはできないにしても、それなりの対策は施されているので素人が作ったものよりも格段に安全でしょう。

この回答への補足

>>なぜ無理だったかと言うと、TCP-IPではなかったからという可能性があります。
すいません、使用したプロトコルはTCP/IPでした
>>UDPではインターネット越しの通信は不可能です。
UDPプロトコルを使用するサーバーとクライアントどうしなら可能です。

補足日時:2010/05/03 16:50
    • good
    • 0
この回答へのお礼

わざわざ、丁寧に回答していただき有難うございました。
もう一度、ルーターの設定並びにルーティングテーブルを見直してみようと思います。
あとVPNの方はもう少し調べた後に導入するか考慮使用と思います。

お礼日時:2010/05/03 16:54

一般にインターネットから家庭LAN内のコンピュータにアクセスするには、ルータへの設定が必要ですが、そのような設定を行ってもLAN内からはグローバルIPアドレスでの接続は行えません。


従ってインターネットからのアクセスが可能か確認するには誰か外部からアクセスして貰うか、インターネット上のコンピュータにSSHでログインするなどして外部経由でアクセスする必要があります。
    • good
    • 0
この回答へのお礼

ありがとうございました。
一度、ルータの設定を見直した後に誰かに協力していただこうと思います。

お礼日時:2010/05/03 17:03

自分自身のグローバルIPを指定してアクセスした場合にはアクセスできないことがありますので、他のグローバルアドレスからアクセスしてみないとインターネットから接続できるかどうかは不明です。

    • good
    • 0
この回答へのお礼

回答していただき有難うございました。
一度、知人にでも協力してもらうことにします。

お礼日時:2010/05/03 17:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!