- PR -

routeコマンドが上手く使えませんでした

1
投稿者投稿内容
ほまらら
ベテラン
会議室デビュー日: 2005/10/19
投稿数: 54
投稿日時: 2006-05-29 16:01
問題自体は解決したのですが、何が悪かったのかが理解できない事象があったので質問させてください。
192.168.101.101のWindowsマシン(デフォルトゲートウェイ192.168.101.254)のブラウザで、
192.168.0.102のWebサーバ上のページにアクセスしようとして、以下の作業を行いました。

・両者をEthernetケーブルで直接つなぐ(ハブなどを介さない1対1で)
・192.168.101.101のマシン(以下pc101)のコマンドプロンプトで
『route add 192.168.0.0 mask 255.255.255.0 pc101』を実行。
(↑自機とは異なるセグメントのWebサーバへデフォルトゲートウェイを介さずにアクセスできるようにする)
・IEを立ち上げて『http://192.168.0.102/』にアクセス

繋がりませんでした。
結局、pc101のIPアドレスを192.168.0.101に変えたら繋がったので問題は解決したのですが、
上記のrouteコマンドの何が間違っていたのかが判りません。
悪あがきして
『route add 192.168.0.0 mask 255.255.0.0 pc101』や
『route add 192.168.0.0 mask 255.255.255.0 192.168.101.101』なども試してみましたがだめでした。
routeコマンド自体は通るのですが、ブラウザからアクセスはできない、という状態でした。

以前192.168.0.101というマシンから192.168.1.102にアクセスしようとしたときは
『route add 192.168.0.0 mask 255.255.255.0 pc101』
で上手く行ったような記憶があるのですが・・・。

どうにもスッキリしないので、routeコマンドについてあちこちのページに当たってみましたが、これはというような理由がわかりませんでした。
原因がおわかりになる方、是非ご教授よろしくお願いします。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2006-05-29 21:55
「自機とは異なるセグメントのWebサーバへデフォルトゲートウェイを介さずにアクセスできるようにする」の理解が間違っているような気がします。
"route add 192.168.0.0 mask 255.255.255.0 pc101"でほまららさんが
所望する動作をするにはpc101がゲートウェイ(ルータ)の機能を担う必要があります。
(そのためにはインタフェイスを複数持つとかパケットフォワードとかが必要だったりします)

セグメントやゲートウェイなどの概念を復習するのが理解の近道かもしれませんね。
クローズな環境で実験されているようなので問題ないと思いますが、
くれぐれも運用されているネットワークで理解を越えた実験をされませんように。
うえだ
常連さん
会議室デビュー日: 2006/05/22
投稿数: 34
投稿日時: 2006-05-29 22:57
こんばんは。

>ほまららさん

ご説明ですと、このようなネットワーク (違うネットワークに所属する PC が、直接接続されている) だと理解しました。

コード:

PC101 (192.168.101.101/24)
   |
   |
   |
PC102 (192.168.0.102/24)



ほまららさんは、下記の設定をされたと思います。
  1. PC101 に『route add 192.168.0.0 mask 255.255.255.0 192.168.101.101』を設定
下記の設定を試してみて頂けませんか? (PC102 にも、相手ネットワークへの NextHop に自インターフェイスを指定した静的ルートを書きます)
  1. PC101 に『route add 192.168.0.0 mask 255.255.255.0 192.168.101.101』を設定
  2. PC102 に『route add 192.168.101.0 mask 255.255.255.0 192.168.0.102』を設定
理屈は後回しにして、まずは試してみてください。うえだ、でした。
ほまらら
ベテラン
会議室デビュー日: 2005/10/19
投稿数: 54
投稿日時: 2006-05-30 08:53
Java僧さん御返答ありがとうございます。
以前は192.168.0.XXXのマシンから192.168.1.XXXのマシンへのroute addが上手く行ったので逆もできるかと単純に考えていたのですが、その辺をもう少し学習してみます。


うえださん御返答ありがとうございます。
ご助言を頂いたのに申し訳ありませんが、
pc102のマシンはいわゆるパソコンとは毛色が違っていて、
コマンドプロンプトなどが実行できないタイプのコンピュータなのです。
IPアドレスの変更などは受け付けるのですが・・・。
うえだ
常連さん
会議室デビュー日: 2006/05/22
投稿数: 34
投稿日時: 2006-05-30 12:08
おはようございます。

>ほまららさん

PC101 に『route add 192.168.0.0 mask 255.255.255.0 pc101』すると、確かに PC101 からの要求データ (PC101 → PC102) は PC102 に届くと思います。しかし、PC102 が返す応答データ (PC102 → PC101) がデフォルトゲートウェイにユニキャストされてしまい、結果的に通信出来ないと思います。そのため、PC102 に帰り道を設定してあげる設定例を提示してみました。

違うネットワークアドレスを持った機器が直接、接続されているという状況はレアなケースですから、(Java 僧さんがお書きになっているように) よく復習しないと、理解が難しいかも知れませんね。

>Java 僧さん

引用:
「自機とは異なるセグメントのWebサーバへデフォルトゲートウェイを介さずにアクセスできるようにする」の理解が間違っているような気がします。"route add 192.168.0.0 mask 255.255.255.0 pc101"でほまららさんが所望する動作をするにはpc101がゲートウェイ(ルータ)の機能を担う必要があります。



蛇足な補足ですが、異なったネットワークアドレスを持った機器であっても Directly Connected で ARP ブロードキャストが届く範囲であれば、ルーティングしなくても通信は可能だと思います (具体的な設定例は、先の返信を参照してください)。

ただ、こんな設定は余程特殊な環境でなければありえませんよね。通常、異なったネットワークアドレス間の通信は Java 僧さんが仰る通り、ルーティングさせるべきだと思います。

ではでは。うえだ@朝風呂からあがったらお昼でした。
ほまらら
ベテラン
会議室デビュー日: 2005/10/19
投稿数: 54
投稿日時: 2006-05-30 14:06
>うえださん

なるほど。PC102からのレスポンスが、PC102に設定されている繋がっていないゲートウェイに飛ばされているから返ってこない、という事でしたか。
漠然と、レスポンスは行った道を逆戻りするから帰りだけ阻害されるような事はないと思っていました。
勉強になりました。
1

スキルアップ/キャリアアップ(JOB@IT)