• ベストアンサー

自宅サーバの公開

はじめまして。 この度、諸事情により自宅サーバを公開することになったのですが、年末から挑戦しつづけて未だ成功しておりません。 長文になりますが、是非、皆様の知恵をお貸し下さい。 以下の環境で外部にサーバを公開したいと考えています。 ○回線 プロバイダ:so-net 回線業者:Bフレッツ(ハイパーファミリータイプ) IPアドレス:固定IP(1つ) ○ルータ 機種:Webcaster7000 IPアドレス:192.168.1.1 ○サーバ機 OS:Fedora Core 3 マシン:Dell PowerEdge 800 IPアドレス:192.168.1.100 ○クライアント機 OS:Windows XP マシン:自作機 IPアドレス:192.168.1.11 固定IPアドレス(AAA.BBB.CCC.DDDとします)に対して、外部よりSSHにてアクセスしてみたところ、正常な接続ができません。 初回には応答があり、パスワードの入力を求められますが入力した後は応答がありません。 続けてトライすると応答はなく、時間を置いて再度アクセスすると初回と同じ結果となります。 サーバ機へのPINGに関してはクライアント機からは応答します。ルータからは応答しません(Loss 100%)。 外部からのものにも応答しません(Loss 100%)。 また、サーバ機、クライアント機からPINGをルータに送信した結果、クライアント機からのものに対しては応答があります(Loss 0%)。しかし、サーバ機からの場合は最初の5パケットに応答した後は応答がなく、数パケット送信後に再び5パケットのみ応答があります。 クライアント機からhttp://192.168.1.100にアクセスすると正常にindex.htmlが表示されますが、グローバルIPであるhttp://AAA.BBB.CCC.***/では表示されません。 どのような設定を行えば上記のような現象が解決するのでしょうか? こちらの環境で不明瞭な点などございましたら開示いたしますのでご指示ください。 それでは宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MicroK2O
  • ベストアンサー率53% (33/62)
回答No.5

連投失礼します。 補足説明させて頂きます。 ・外部からのサーバー機へのアクセス 先程の投稿を参考にして下さい。 グローバルIPからサーバー機へのIPマスカレードが ルーターの時点で出来ていないと思われます。 ・内部からのサーバー機へのアクセス もう御覧になっているかもしれませんが http://fedorasrv.com/ こちらのサイトのSSHサーバー構築を参考にしてみて下さい。 内部で稼動していないようなら外部ではログインできないかと。 # 当方FedoraCore3でSSHの外部からの接続も良好です。

march-hare_2006
質問者

お礼

色々とご協力頂きありがとうございました。 アドバイスを下さった皆様には感謝いたします。 この問題はOS(Fedora Core3)のインストール不具合か、もしくはハードウェア(NIC)が原因だった可能性が高いようです。 pingが規則的に応答する、外部からのSSH接続が高頻度でTime Outになる、という問題からLANケーブルを変更したりしてみましたが現象は変わらず。 余りのマシン(Linux RedHat9)で検証したところ、pingもSSH接続も問題ないようでした。 もっと早くこちらを試すべきでした。 ご協力ありがとうございました。

march-hare_2006
質問者

補足

アドバイスありがとうございます。 No.2 yakkiida様の仰るIPマスカレードについては、私が意味を取り違えていました。 IPマスカレードは内部から外部へ行うものだと思いこんでいましたので・・・ WAN側に対する接続要求は、ポート80番、22番、プロトコルに限らず、全て192.168.1.100(ローカルサーバ)に送るように設定しています(All Traffic)。 SSHサーバについては問題なく動作しています。 サーバ機は、クライアント機(192.168.1.11)からSSHで接続して操作しています。 また、現在までに外部から2度ほどSSH接続に成功しております(試行回数は100回以上になりそうですが)。 MicroK20様の仰るとおり、グローバルIPとサーバ機間のアドレス変換が上手くいっていない可能性があります。 特に、サーバ機からルータへの通信がかなり不自然です。 サーバ機から外部へのPING送信は『規則的に』パケットをlossします。 PING yahoo.co.jp (210.81.150.5) 56(84) bytes of data. 64 bytes from 210.81.150.5: icmp_seq=0 ttl=241 time=8.16 ms 64 bytes from 210.81.150.5: icmp_seq=1 ttl=241 time=34.5 ms 64 bytes from 210.81.150.5: icmp_seq=2 ttl=241 time=15.2 ms 64 bytes from 210.81.150.5: icmp_seq=3 ttl=241 time=24.4 ms 64 bytes from 210.81.150.5: icmp_seq=4 ttl=241 time=27.2 ms 64 bytes from 210.81.150.5: icmp_seq=30 ttl=241 time=6.18 ms 64 bytes from 210.81.150.5: icmp_seq=31 ttl=241 time=5.77 ms 64 bytes from 210.81.150.5: icmp_seq=32 ttl=241 time=7.46 ms 64 bytes from 210.81.150.5: icmp_seq=33 ttl=241 time=14.4 ms 64 bytes from 210.81.150.5: icmp_seq=34 ttl=241 time=5.82 ms 64 bytes from 210.81.150.5: icmp_seq=60 ttl=241 time=6.25 ms 64 bytes from 210.81.150.5: icmp_seq=61 ttl=241 time=5.86 ms 64 bytes from 210.81.150.5: icmp_seq=62 ttl=241 time=5.59 ms 64 bytes from 210.81.150.5: icmp_seq=63 ttl=241 time=7.22 ms 64 bytes from 210.81.150.5: icmp_seq=64 ttl=241 time=5.91 ms 上記のような現象に見覚えはございますでしょうか? あつかましいお願いではございますが、もし宜しければ更なるアドバイスを頂けましたら幸いです。

その他の回答 (4)

  • MicroK2O
  • ベストアンサー率53% (33/62)
回答No.4

No.2さんの仰るIPマスカレードはどうなったのでしょうか。 >ルータの下に今まで使っていたPC(192.168.1.11)と >新しく購入したサーバ用PC(192.168.1.100)が接続されており、 >WAN側のIPアドレス AAA.BBB.CCC.DDD にアクセスした時に、 >サーバ用PCを見るように設定したいと考えています。 考えているだけで設定されたのでしょうか? Webは80ポートであるのに対しSSHは22ポートを使用します。 WAN側からの22ポートへのアクセスをサーバー機のIPに転送設定しなければ 外部からの接続はまず不可能です。 >とりあえず現状ではクライアント機、 >サーバ機ともにインターネットアクセス可能です。 内部からWANに出るのとWANから内部機にアクセスするのでは 方法が違うと考えて下さい。 マニュアルが手元に無く詳細はお教えできませんが 「Webcaster7000設定画面」の「ネットワーク詳細設定」に マスカレードに関する設定項があるのではないでしょうか。

回答No.3

ちょっと、次のことを試してみてください。 ssh_configに AddressFamily inet を追加してみてください。 sshd_configに UseDNS no を追加してみてください。

march-hare_2006
質問者

補足

報告が遅れまして申し訳ありません。 上記の作業を行ってみましたが、外部からの接続からに関しては変わりませんでした。 AddressFamilyのみ、UseDNSのみ、両方の3パターンでも結果は同じでした。 ssh -l user AAA.BBB.CCC.DDD ssh: connect to host AAA.BBB.CCC.DDD port 22: Connection timed out 他の方にも指摘されているように、ルータでのアドレス変換に問題がありそうですが、上記の作業の結果、ルータのセキュリティログには Inbound Traffic Connection Accepted TCP www.xxx.yyy.zzz:34574->192.168.1.100:22 on ppp0 という結果が残っています。 しかし、サーバの方で作成したiptablesのログにはwww.xxx.yyy.zzz及び192.168.1.1(ルータ)からのログは残っていませんでした。 kernel以前で弾いているということでしょうか?

noname#17587
noname#17587
回答No.2

いまいちネットワーク構成がわからないのですが ルータにIPマスカレードの設定を適切に行っていますか? WAN側からの通信はルータで遮断されるので、 適切にサーバに伝えるためには設定が必要です。

参考URL:
http://y-kit.jp/inet/page/masquerade.htm
march-hare_2006
質問者

補足

回答、誠にありがとうございます。 こちらの説明が悪く申し訳ございません。 ルータの下に今まで使っていたPC(192.168.1.11)と新しく購入したサーバ用PC(192.168.1.100)が接続されており、WAN側のIPアドレス AAA.BBB.CCC.DDD にアクセスした時に、サーバ用PCを見るように設定したいと考えています。 IPマスカレードの設定については少し自信がありませんが、とりあえず現状ではクライアント機、サーバ機ともにインターネットアクセス可能です。 ※ サーバ機はPINGのみで確認 また、95%失敗する外部からのSSH接続に対して、先ほど一度だけ成功し、自宅サーバにログインすることができてしまいました。 これは公開設定は成功しているが、何らかの理由で通信経路がおかしくなっているということでしょうか?

回答No.1

○ルータWebcaster7000の”機能詳細取扱説明書”の 7-13ページに公開の手順が記載されていますが、その 設定は、お済ですか? また、サーバ機の 1.ネットワーク設定(特にデフォルトゲートウェイの値) 2.サーバソフト(この場合、SSHサーバ、webサーバ)の設定は大丈夫でしょうか?

march-hare_2006
質問者

補足

回答、誠にありがとうございます。 ルータの取扱説明書通り、ローカルサーバの設定項目には「192.168.1.100」を設定し、公開するサービスは現在は『All Traffic』を選択しています。 1.については少々自信がありません。サーバ機のネットワーク設定は以下のようにしております。 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 TYPE=Ethernet 2.Webサーバに関しては問題ないと思われます。 SSHに関しても外部からの接続を制限するような設定は行っておりません。

関連するQ&A