- - PR -
何故かpingが通りません!
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-06-06 16:51
お世話になります。
下記の構成で [Redhat7.2]211.x.x.5 から #ping 211.x.x.4 が何故か通りません。 [構成] ======================================================== [ A ] | | |211.x.x.3(eth2) +--+--+ | |211.x.x.4(eth0) | +----------[Redhat7.2]211.x.x.5 | | +--+--+ |192.168.10.1(eth1) | [Win98]192.168.10.2 ======================================================== 真中の箱はNICが3枚ささったマシンです(以後、ゲートウェイマシンと呼びます)。 現在は図中のどのマシンもファーヤーウォールは全てのパケットをACCEPTしておりますのでオールパスです。 色々試してみた結果、次のことが判明しております。 1.[Win98]からゲートウェイの(eth0)、(eth1)、(eth2)全てにpingが通ります。 2.首記にもあるように、[Redhat7.2]からゲートウェイにはどちらからもpingが通りません。pingの結果の詳細は以下のとおりです。 [ゲートウェイから]#ping 211.x.x.5 PING 211.x.x.5(211.x.x.5) from 211.x.x.3 :56(84)bytes of data, from 211.x.x.3: Destination host Unreachable from 211.x.x.3: Destination host Unreachable from 211.x.x.3: Destination host Unreachable ・・・ というように、211.x.x.4に繋いでいるのに、なぜがレスポンスが 211.x.x.3 から返ってきます。 3.[Redhat7.2]を[ A ]の位置につなぎ換えると 211.x.x.3 からレスポンスが返ってきます。双方からPingが通ります。 マシンに馬鹿にされているのでしょうか。。 ご指導願います。 [ メッセージ編集済み 編集者: okumura 編集日時 2002-06-10 17:05 ] |
|
投稿日時: 2002-06-06 18:04
あまり詳しくないのですが、eth0 と eth2 が同じセグメントのように見受けられます。
RedHat7.2、およびゲートウェイのルーティングテーブルはどのようになっていますか? $ netstat -rn で確認できます。 また、ルーティングについては以下の記事が大変参考になります。 http://www.atmarkit.co.jp/fnetwork/rensai/router02/router01.html |
|
投稿日時: 2002-06-06 18:06
Maskやroute、後DefaultGatewayなんかの設定はどうなってます?
Destination host Unreachable ↑のエラーは、指定場所に行こうにも行く道がないってことですから、 基本的には設定ミスや、線が切れてるなどの範囲に収まってそうな気がしますが・・・ |
|
投稿日時: 2002-06-06 19:21
eth0とRedHatのネットマスクが違うのではないでしょうか?
おそらくデフォルトゲートウェイはeth2かと思いますが、 RedHatにpingしようとしたが、eth0のネットマスクとも eth1のネットマスクとも違うんでとりあえず、eth2に 送ってみたけどやっぱり見当たらなかった、とかでは ないでしょうか? |
|
投稿日時: 2002-06-06 22:19
きちんとネットワークが分けられているなら(適切なサブネットマスクが指定)
真ん中のゲートウェイマシンの ルーティングテーブルの情報が間違っているのだと思います。 #route で表示されますので教えて下さい。 ちなみに、各ネットワークのネットワークアドレスも 教えてくれるとわかりやすいです。 |
|
投稿日時: 2002-06-07 10:17
ども、ご無沙汰であります。
いろいろな方がかかれているので蛇足かとは思ったのですが、ほかに読まれている方も意識しつつ、ちと噛み砕いてみようかなぁ、と。 まず、全体の挙動と設定を考えてみたいと思います。 NICには、IPアドレスが付与されます。ところが、本体にはNICが複数個ささる場合もあり、かつ設定によっては一枚のNICに複数のIPが割り振られることすらあります(なんか大げさに書いてますが、多分よくやります)。 で。 本体は、NICに入ってきた、あるいはNICから出て行こうとするデータ(以降パケットと呼びます)を「どーする?」か決めなくてはいけません。 まず、NICからパケットが入ってくる(受信の)場合です。 NICが一枚の場合でかつIPが一つの場合は「受け取る」だけなので、設定は必要ないです。 次に、NICからパケットを送り出す(送信の)場合です。 これは、パケットを「とりあえず」どこに渡すかを決めなくてはいけません。今回の場合は「211.x.x.4」ですね。これを「ゲートウェー」と呼びます。今回のようなネットワーク構成の場合一つだけですので、たいていこれを「デフォルト ゲートウェー」と呼びます。 さて。これがIP複数とかNIC複数になってきたあたりから、状況が混迷し始めます。 まず簡単にIPが二つの場合を考えてみましょう。インタフェースをAとBに仮定します。 自分向けのパケットの受信は、これはAから来ようがBから来ようが、気にしちゃぁいけません。受け取ってください。 問題は「A宛に入ってきたパケットなんだけど受け取りは自分じゃないんだよなぁ」というパケットの存在です。この場合、Aのパケットをとりあえずどこかにたらいまわししてあげなくてはいけません。 これは、じつは「ルータ」の原理です。AからのパケットをBに流し、BからのパケットをAに流し。 つまり、「自分で受け取るパケット」と「別のネットワークに流してあげなくてはいけないパケット」が存在するのです。 で、ようやく本題。 今回の設定の場合、真中のマシンには色々な設定をしてあげなくてはいけない、という状態にあります。 つまり「自分宛のパケットではない場合の処理」です。これが、ほかの方が言っている「ルーティングテーブル」になります。 ルーティングテーブルは、概ね ・どこからきて ・どこに行くパケットは ・どのNICの ・誰にたらいまわすのか? が設定されています。 今回の場合、ping(CIMPパケット)をeth0が受け取ったのはいいが、どこに返したらいいのかわからないのでICMPパケットが迷子になってしまった状態である、と考えられます。 で、Aの場所からの接続でうんぬん、という状況をあわせて考えると、 ・RedHatLinuxの設定でのdefault gatewayがeth2である ・真中のマシンのeth0まわりのrouting tableがおかしい ・その他(笑 などなどが予想されます。 多分真中のマシンはWindowsと愚考いたしまして、かつその場合、具体的な設定方法は私はわからないのですが。でも多分それは誰かがフォローしてくれると思いますので。 あっしは、とりあえず理論的な側面ですこしヘルプが出来たら、と思い投稿しました。 なんかありましたらまた(^^ |
|
投稿日時: 2002-06-07 10:41
たしかに、三枚ざしのマシンのOSと、各NICのIPアドレスのサブネットマスク、
それから、マシンに設定されている「デフォルトゲートウェイ」のアドレスは、 最初っから書いてもらったほうが良かったみたいですね。(^^; |
|
投稿日時: 2002-06-10 09:08
皆様、ご回答ありがとうございました。大変参考になりました。
真中のマシンはRedHat7.2です。最初に書いておくべきでした。 アドレスを下記のように変更すると通りました。 ======================================================== [ A ] | | |211.x.x.3(eth2) +--+--+ | |10.1.1.1(eth0) | +----------[Redhat7.2]10.1.1.2 | | +--+--+ |192.168.10.1(eth1) | [Win98]192.168.10.2 ======================================================== 同じマシンに同一セグメントに属するNICを挿してはいけないのでしょうか。。 |