OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

グローバルIP一つ(固定)でのWeb公開

  • すぐに回答を!
  • 質問No.106506
  • 閲覧数138
  • ありがとう数2
  • 気になる数0
  • 回答数9
  • コメント数0

お礼率 40% (72/179)

今回、プロバイダーのコース変更をしグローバルIDを一つ固定でもらいました。

そこで試しにWebを公開したいと思いアパッチをインストールしました。

OSはTurboLinux6.0です。

とりあえず、LAN内ではアクセスすることできました。

しかし、他のプロバイダーからアクセスするとできません。ログを見てみると下記のようなメッセージが残っています。

98)Address already in use: make_sock: could not bind to port 80

これって、ポート80が使えません。っていうことですよね。

っていうことはWebを公開するためのポートを80以外にすればいいのでしょうか?
通報する
  • 回答数9
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.9
レベル11

ベストアンサー率 36% (86/235)

IPフィルターの設定も特におかしいとは思えないですね。
ここで、ひとつ提案ですが、eth0も固定のアドレスなのですから、この際インターネットから外してみて、eth0がわにHUBとPC(当然このサーバーにアクセスできるIPアドレスをふる)をつないでみて確認されてはいかがでしょうか?
これで、サーバーの問題かどうかは、切り分けできると思うのですが。
お礼コメント
YUNTAKU

お礼率 40% (72/179)

Ken2様

ご回答ありがとうございます。いろいろ試してみましたが、やはりできない様です。

CATVのコース変更をしてサーバーOKのコースに変更中です。

32,000円/月もするけど、、、いたい、、、

とりあえず、ここはいったん締めようと思います。

私の意味の分からない質問にご返事を下さった方、本当にありがとうございました。
投稿日時 - 2001-07-31 17:59:36
-PR-
-PR-

その他の回答 (全8件)

  • 回答No.3
レベル11

ベストアンサー率 36% (86/235)

やはりまずそのアドレスに対してpingがとおるのかを確認し、nslookupで逆引きしてみてそのプロバイダーが持っているIPアドレスなのかを見たほうがいいともいます。 LANからは、当然アクセスできると思いますが、外からアクセスできないのは、アドレスが間違っていて、ルーティングできないのではにかとも思います。 ほんとに割り当てられたのなら、そんな80番ポートがつかえないような割り当てはしないと思います ...続きを読む
やはりまずそのアドレスに対してpingがとおるのかを確認し、nslookupで逆引きしてみてそのプロバイダーが持っているIPアドレスなのかを見たほうがいいともいます。
LANからは、当然アクセスできると思いますが、外からアクセスできないのは、アドレスが間違っていて、ルーティングできないのではにかとも思います。
ほんとに割り当てられたのなら、そんな80番ポートがつかえないような割り当てはしないと思います。
IPアドレスとネットマスクもきちんと確認されたほうがいいと思います。
補足コメント
YUNTAKU

お礼率 40% (72/179)

ken2 様 ありがとうございます。

nslookup で確認しましたところ、私の契約しているプロバイダーのものでした。

アドレスの間違いはないと思います。。。。

IPアドレス、サブネットマスクともに確認してみましたが、間違いは無いようです
投稿日時 - 2001-07-20 13:15:05


  • 回答No.2
レベル11

ベストアンサー率 28% (91/314)

外からグローバルアドレスに対してpingは通りますか?また、Internet Test Tools (http://www.vector.co.jp/soft/win95/net/se078518.html)などを使ってポートスキャンをかけてみてはいかがでしょう。 私の場合、CATVでIPはDHCPで可変割り当てですが、外からはプロバイダ側で1024までのポートは止められています。同じようなことがあるの ...続きを読む
外からグローバルアドレスに対してpingは通りますか?また、Internet Test Tools (http://www.vector.co.jp/soft/win95/net/se078518.html)などを使ってポートスキャンをかけてみてはいかがでしょう。
私の場合、CATVでIPはDHCPで可変割り当てですが、外からはプロバイダ側で1024までのポートは止められています。同じようなことがあるのかも。
補足コメント
YUNTAKU

お礼率 40% (72/179)

ikeuchi 様ご回答ありがとうございます。

外からグローバルアドレスに対してのPINGは通ります。

ご指摘の通りポートスキャンをかけてみたところ80は開いていませんでした。1024までで開いていたのは下記のポートです。

7 9 13 15 19 22 23

グローバルIPはDHCPではなく固定になっています。

CATV側で80をふさいでWebサーバーをできなくしているのでしょうか?もし、そうでしたら何らかの方法で作ることはできないのしょうか?
投稿日時 - 2001-07-20 13:10:11
  • 回答No.1
レベル11

ベストアンサー率 28% (91/314)

システム構成が判らないので、何とも言えません。 LAN内からはプライベートアドレスでアクセスしていませんか? 1個のグローバルアドレスは、アパッチのサーバに割り当てられていますか?ルータなどに割り当てられていませんか? 外からアクセスしたときに、該当アドレスの80ポートがオープンできない=サーバが見えていない様に思いますがいかがでしょう。 ...続きを読む
システム構成が判らないので、何とも言えません。
LAN内からはプライベートアドレスでアクセスしていませんか?
1個のグローバルアドレスは、アパッチのサーバに割り当てられていますか?ルータなどに割り当てられていませんか?
外からアクセスしたときに、該当アドレスの80ポートがオープンできない=サーバが見えていない様に思いますがいかがでしょう。
補足コメント
YUNTAKU

お礼率 40% (72/179)

申し訳ありません説明不足ですね。

LAN内からのアクセスはグローバルアドレスでアクセスしてもプライベートアドレスでアクセスしてもアクセスできます。

グローバルアドレスはTurboLinuxに振られています。ルーターなどは入れていません。

>外からアクセスしたときに、該当アドレスの80ポートがオープンできない=サーバが見えていない様に思いますがいかがでしょう。

外からアクセスしようとしたときは、ブラウザのエラーはかなり時間がたったあげく、

「サーバー」に問題が発生していますみたいなことが書かれています。
投稿日時 - 2001-07-19 15:57:49
  • 回答No.4
レベル12

ベストアンサー率 67% (310/456)

$ ps axe | grep httpd $ su -c "netstat -atp" $ su -c "ls /etc/xinetd.d" $ su -c "cat /etc/inetd.conf" とやると,どんなのでます? 98)Address already in use: make_sock: could not bi ...続きを読む
$ ps axe | grep httpd
$ su -c "netstat -atp"
$ su -c "ls /etc/xinetd.d"
$ su -c "cat /etc/inetd.conf"
とやると,どんなのでます?

98)Address already in use: make_sock: could not bind to port 80

このメッセージはWebサーバソフトのログでよいのかな。
Webサーバソフト名とログの他のメッセージもいただけますか?
補足コメント
YUNTAKU

お礼率 40% (72/179)

onosuke 様ご回答ありがとうございます。早速試してみましたところ

> $ ps axe | grep httpd

412 ? S 0:00 httpd
693 ? S 0:00 httpd
694 ? S 0:00 httpd
695 ? S 0:00 httpd
696 ? S 0:00 httpd
697 ? S 0:00 httpd
698 ? S 0:00 httpd
699 ? S 0:00 httpd
700 ? S 0:00 httpd
701 ? S 0:00 httpd
702 ? S 0:00 httpd
2778 ? S 0:00 grep httpd

> とメッセージがでます。

$ su -c "netstat -atp" とやると

パスワードを求められましたのでrootのパスワードでログインしました。
すると今立ち上がっているデーモンでしょうか?たくさん出てきました。

> $ su -c "ls /etc/xinetd.d" とやると

また、パスワードを入力して

ls: /etc/xinetd.d: No such file or directry とでます

> $ su -c "cat /etc/inetd.conf"

こちらは、ものすごい長いメッセージが出てきます。

Webサーバーはアパッチです。ログは、Webサーバーのログです。場所は

/etc/local/apache/logsのerror_logの中にあるのですが、この一行以外にはメッセージはありません。

同じ場所のaccess_logも空っぽのままです。
投稿日時 - 2001-07-22 18:15:09
  • 回答No.5
レベル12

ベストアンサー率 67% (310/456)

ども,こんばんわ。 前回の質問で,INETデーモン:"inetd",apacheはServerType:standaloneで起動している,以上2点がわかりました。(standaloneなのでINETデーモンはもう用なし) > 98)Address already in use: make_sock: could not bind to port 80 件の ...続きを読む
ども,こんばんわ。

前回の質問で,INETデーモン:"inetd",apacheはServerType:standaloneで起動している,以上2点がわかりました。(standaloneなのでINETデーモンはもう用なし)

> 98)Address already in use: make_sock: could not bind to port 80

件のエラーメッセージですが,これは今の問題とはとりあえず関係なさそうです。
(このエラーがでるとapacheは起動しない,だがhttpdがプロセスリスト(ps)に並んでいる) もっとも,

「最初からapacheはインストールされていたのではないか?」
「現在は元々のapache or 元々のに上書きしたapache が動いている?」

といった,新たな疑問も出てしまいます。(^^;;
ちなみに,あのエラーの問題解決が必要なとき,原因はTurboLinuxマシン内に収まります。

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [WAN側アドレス] 80

(echoの後の"(ダブルクォート)閉じずに改行いってください)

で"index.html"の内容が画面に出て来るか一度確認してみては?


> っていうことはWebを公開するためのポートを80以外にすればいいのでしょうか?

httpd.confでポート番号80以外に設定し,それでうまくいくようならCATV会社で内向き宛先TCPの80番ポートを閉じていることになります。試してみる価値は十分ありますが,あのエラーで『っていうことは』にはなりませんね。
補足コメント
YUNTAKU

お礼率 40% (72/179)

onosuke 様 ご回答ありがとうございます。

試しに、apacheの入れ直しをしてみました。すると以前のエラーログは出なくなり何も出なくなりました。

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [WAN側アドレス] 80

とやってみたところ、

[WAN側アドレス]80: Unknown host とエラーメッセージが出ました。

httpd.conf の設定で

ServerName のところにグローバルIDを入れたのですが、設定はこれでいいのでしょうか?

もし、ポートを80以外に設定する場合は、httpd.confのPortの番号を開いているポートに割り振ればいいのでしょうか?

もし、80以外にした場合はどのようにアクセスすればいいのでしょうか?

申し訳ありませんが、教えてください
投稿日時 - 2001-07-22 23:23:12
  • 回答No.7
レベル12

ベストアンサー率 67% (310/456)

あれれ? グローバルIPを入力して > [WAN側アドレス]80: Unknown host ですか。 "[WAN側アドレス]"とポート番号の"80"の間には,スペース入れるんですけど,これ抜けてないですか? >>$ su -c "netstat -atp" >流れてしまって確認することができません。。 ...続きを読む
あれれ? グローバルIPを入力して
> [WAN側アドレス]80: Unknown host
ですか。 "[WAN側アドレス]"とポート番号の"80"の間には,スペース入れるんですけど,これ抜けてないですか?


>>$ su -c "netstat -atp"
>流れてしまって確認することができません。。

表示が一画面に収まりきらないとき,"|"(パイプ)を利用すると良いです。
コマンドの後に"| less"や"| more"を付け足しましょう。

最後に,"httpd.conf"の"ServerName"行ですが,今の状況ならこれは必要ないでしょう。
補足コメント
YUNTAKU

お礼率 40% (72/179)

onosuke 様 ありがとうございます。

> [WAN側アドレス]80: Unknown host
ですか。 "[WAN側アドレス]"とポート番号の"80"の間には,スペース入れるんです>けど,これ抜けてないですか?

やってみましたが、同じですね。。。これって80のポートが開いていないということでしょうか?

>$ su -c "netstat -atp"

こちらの方もやってみました。

ご指摘の通り、|moreをつけることによって全てみることができました。でも、80のポートを使っているという記述が無いんです。。。

apacheの設定方法が根本的に間違っているのでしょうか?

何か80のポートを開放するという設定が必要なのでしょうか?

素朴な疑問なんですが、もし80のポートが開いていなくても、LAN内ではアクセスすることができるのでしょうか?

LAN内から、ポートスキャンすると80は開いているのですが、他のプロバイダーからポートスキャンすると開いていません。。。

ん~~~だんだん混乱してきました。

本当に申し訳ありませんが、ご指摘の程お願いします
投稿日時 - 2001-07-24 10:40:46
  • 回答No.6
レベル12

ベストアンサー率 67% (310/456)

えーっと,こいつなんですが $ echo "GET /index.html HTTP/1.0 > >" | telnet [WAN側アドレス] 80 [WAN側アドレス]の部分,グローバルIPに置き換えてもらえました? [WAN側アドレス]っていうのは,そういう意味です。 TurboLinuxマシンのネットワーク構成はどうなっているのでしょう? ...続きを読む
えーっと,こいつなんですが

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [WAN側アドレス] 80

[WAN側アドレス]の部分,グローバルIPに置き換えてもらえました?
[WAN側アドレス]っていうのは,そういう意味です。

TurboLinuxマシンのネットワーク構成はどうなっているのでしょう?
eth0-WAN(グローバルIP)
eth1-LAN
のようなDualHome構成?NATルータなんて使ってないですよね?
詳しいところお願いします。

> httpd.conf の設定で ServerName のところにグローバルIDを
> 入れたのですが、設定はこれでいいのでしょうか?

通常,ServerName設定は必要ないです。
が必要かどうかは,ネットワークの環境次第ですね。

>もし、ポートを80以外に設定する場合は、httpd.confのPortの
>番号を開いているポートに割り振ればいいのでしょうか?

はい,OKです。

あ,そうそう....
$ su -c "netstat -atp"
こいつは,TCPポート番号の利用状況とそのプログラムがわかります。(suしないと,全てのプログラム名は表示されない)中でも,State行:LISTENとなっているのは,そのポートでサーバが動いています。


> もし、80以外にした場合はどのようにアクセスすればいいのでしょうか?

URLなら

http://localhost:[ポート番号]/

と,":"の後にポート番号を付け足す。前回のtelnet使う方法なら,

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [ホスト名/IP] [ポート番号]

です。
補足コメント
YUNTAKU

お礼率 40% (72/179)

onosuke様ありがとうございます。

>[WAN側アドレス]の部分,グローバルIPに置き換えてもらえました?
>[WAN側アドレス]っていうのは,そういう意味です。

ハイ大丈夫です。グローバルIPを入れました。

>TurboLinuxマシンのネットワーク構成はどうなっているのでしょう?
>eth0-WAN(グローバルIP)
>eth1-LAN
>のようなDualHome構成?NATルータなんて使ってないですよね?
>詳しいところお願いします。

おっしゃるとおりです。
eth0にグローバルIPを振り
eth1にLAN側のIP(192.168.1.1)を振っています。

>$ su -c "netstat -atp"
>こいつは,TCPポート番号の利用状況とそのプログラムがわかります。(suしないと,全てのプログラム名は表示されない)中でも,State行:LISTENとなっているのは,そのポートでサーバが動いています。

これを実行するとたくさんのメッセージがバーァっと出てきます。80はかなり上の方なのでしょうか?流れてしまって確認することができません。。。

本当に申しわけありません。。。いろんなホームページや本を参考にしているのですが自力ではどうしても無理なようです。

お忙しいとは思いますが、ご教授お願い致します
投稿日時 - 2001-07-23 09:04:24
  • 回答No.8
レベル11

ベストアンサー率 36% (86/235)

いろいろやっているようですが、まだ使えてないようですね。 LANからアクセスできるのなら、httpdは、動いているようですね。 2本足ということは、IPフィルターの問題でしょうか? ipchains -Lで、IPフィルターの設定がでてきます。 ipchainsは、どのように設定されたのでしょうか? eth0に対して、80番ポートは、inputで、anyからacceptになっているでしょうか? ...続きを読む
いろいろやっているようですが、まだ使えてないようですね。
LANからアクセスできるのなら、httpdは、動いているようですね。
2本足ということは、IPフィルターの問題でしょうか?

ipchains -Lで、IPフィルターの設定がでてきます。
ipchainsは、どのように設定されたのでしょうか?
eth0に対して、80番ポートは、inputで、anyからacceptになっているでしょうか?
補足コメント
YUNTAKU

お礼率 40% (72/179)

ken2様 ありがとうございます。

早速 ipchains -L とやって見ましたところ

Chain input (policy ACCEPT):
Chain forward (policy DENY):
target prot opt source destination ports
MASQ all ------ 192.168.1.0/24 anywhere n/a
Chain output (policy ACCEPT):

と出ます。

ipchainsの設定は、

/etc/rc.d/rc.localに以下のように追加しています。

/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_cuseeme
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ

>eth0に対して、80番ポートは、inputで、anyからacceptになっているでしょうか?

申し訳ありません。上記の調べ方又は設定の仕方がわかりません。。。

お手数ですが、教えていただけますでしょうか?
投稿日時 - 2001-07-25 11:59:49
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ