- ベストアンサー
tracertコマンドによるインターネット上のサイトへの接続が全て失敗する理由
- tracertコマンドがインターネット上のサイトへの接続において常にタイムアウトする問題が発生しています。
- LAN内のPCへのtracertコマンドは成功するが、インターネット上のサイトへのtracertコマンドは全てタイムアウトする。
- 問題の原因としては、可能性としてはファイアウォールの設定やネットワークの制限、プロバイダの設定、またはルーターの問題が考えられます。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#3 念のため補足しておきますが >ルータからPC間に対してパケット通過させるための機能ではないと思われます と書きましたが設定してないのにLAN間では問題ないから↑はありえない とか言わない(思い込まない)ようにしてください LAN間通信ではこの設定は影響しません 外部からのICMPパケットをルータがLAN内に通過させるための設定が 該当の設定となります ルータのPing応答有効にしてもルータ内部の処理で終わります 経路上としてルータ->PC間で尚且つ外部からのICMPに対するパケットが フィルタされていると考えられます
その他の回答 (5)
- koi1234
- ベストアンサー率53% (1866/3459)
ついでに書いとけということで追記 ICMPの開放については解決策のように両方向許可しないとダメです 今まで片方向で記載してましたが(送信受信で)同じことが言えます
お礼
昨日は遅くまで有難うございました。 お陰様で無事 tracert、ping ともに使えるようになりました。 一度やってみたかったのですが、 tracert でアメリカのサイトまで経路を辿るなどして楽しんでいます。 また、予想していた通りの動作ですが、 自分のグローバルIP宛にpingを打つと、応答が返ってくるようになりました。 外部からも見られているということですね。 動的フィルタのことも調べつつ、よりきめ細かな通過フィルタリングができるよう 勉強していきたいと思います。 ちなみに、ルータの接続先設定は「PING応答機能」をオフにしたままです。 ここでオフにしていても、パケットフィルタで通過させる設定があれば、 通過されるのですね。 今回はいろいろなことが勉強でき、 今後役に立つコマンドも使えるようになったのでとても良かったです。 有難うございました。
補足
有難うございます!とても参考になります。 TCPプロトコルのように、一度コネクション?が成立したら 応答は自由に受け取れる、というようなことが ICMP でも 用意されていないかな、と 未熟な知識ながら思ったのでした。 出鱈目な発想ですみません。 そういうことは不可能であって、 ICMP パケットは要求も応答もそれぞれ許可しないといけない、 それか、高価なルータで動的フィルタ!を行う、 ということがわかり、すっきり致しました。 今の状態だと、外部からの ping や tracert の要求も、 うちのルータが通過許可する形だと思いますが、 これはお互い様ということなのですね。 すみません、これについては今度自分で確認しておきます。 ping 、tracert が使えなかった原因が明確になり、 感謝しています。使えるようになって嬉しいです。 今後、もっと勉強を進め、高価なルータを買っ・・ Linux をルータ化してみたりなど、頑張りたいと思います。 有難うございました!
- koi1234
- ベストアンサー率53% (1866/3459)
書いてる途中でお礼が書かれてるのに気が付きました全文見てないですが とりあえず書きかけてるので要点だけ >これは、例えば、LAN 内のマシンから ping や tracert コマンドで >ICMP パケットを発信して、外から帰ってきた応答のみを許可する、 >といった振り分け方はできるのでしょうか。 これは動的フィルタといった名称で呼ばれ(メーカによって多少異なるよび方かもしれません) 家庭向けの汎用ルータの大抵はサポートしていないと思います もう少し高級なルータ使えばできます(といっても私はYAMAHAルータしか知らない) (多分2万以下程度の物ではほとんど全滅ではないかと思います) 全て静的フィルタでポート(パケット)は常に通過させる設定のみしかできない ということです
- koi1234
- ベストアンサー率53% (1866/3459)
#1です Pingも通らないということですので間違いなく ルータでフィルタリングされていると思われます >このプロバイダ側で止められている(プロバイダを変えるしかない)ということもあるのでしょうか? まず考えられません 以前nifty使っていたとき使っていますしそんな基本的なところを塞ぐ プロバイダは存在しないと思われます >これをオンにしても結果は同じでした。 とありますがそれだけでは足り無いと思われます これは外部からルータに対してPingを行ったときに応答するものであって ルータからPC間に対してパケット通過させるための機能ではないと思われます フィルタ設定でICMPパケット通過の設定ができませんか? WD605CVは末尾型番でいくつか仕様が分かれているのかもしれませんが (数種類のロット?が製造しているためマニュアルが複数に分かれています) 下記のようなフィルタリング設定画面があるはずです http://www.aterm.jp/function/guide/web-data/j-all/wd6xx/eac/8w_m5.html ICMPプロトコルを通過設定してください 適切な設定すれば動くようになるはずです(ルータ変更の必要は無いと思われます)
- n_kudoujp
- ベストアンサー率43% (81/187)
タイムアウトになる一番多い原因は、tracertで使われているICMPプロトコルを、 途中のルーターが通過させないように弾いている場合ですね。 これはDOS攻撃などを防ぐためで、ICMPを止めているルータは結構多いですよ。 ちなみにpingもICMPを使用しているので、途中で止められると思います。 指定サーバまで通信が確立していることを確認したいのであれば、 XPならネットシェルコマンドがあったはずなので、それでポート指定して、 HTTPプロトコルなどで、通信できるか確認してみると良いと思いますよ。 コマンド例:netsh diag connect iphost (IPまたはホスト名) (ポート番号) 実際にyahooサーバに対して、80番ポート(HTTPプロトコル)で実行するとこんな感じになる。 ------------------ C:\>netsh diag connect iphost yahoo.co.jp 80 IPHost (yahoo.co.jp) IPHost = yahoo.co.jp Port = 80 サーバーは次のポートで実行中と思われます [80] ------------------ 閉じられているポートを指定するとこんな感じになる。 ------------------ C:\>netsh diag connect iphost yahoo.co.jp 23 IPHost (yahoo.co.jp) IPHost = yahoo.co.jp Port = 23 サーバーは次のポートで実行中と思われます [なし] ------------------ 古くからPCを使っている方であれば、telnetの方が馴染みがあるかも知れないですね。 これだとサーバの応答は確認できますが、途中のHOP数まではわからないので、 HOP数を知りたい場合は、デフォルトルーターから数えるしかないのかな^^;
お礼
netsh コマンドの存在についてお教え頂き、誠に有難うございました。いろいろなコマンドがあるのですね。 デフォルトルータからHOP数を数える、などといった芸当があるとは知らず、今度そのことについても調べてみたいと思います。 ようやく ping、tracert のフィルタを全開にして使えるようになりましたので、いろいろ照らし合わせて勉強したいと思います。 アドバイス頂き、とても嬉しかったです。有難うございました。
補足
有難うございます。 netsh diag connect iphost コマンドを試してみました。 結果は正しく応答がありました。以下の通りです。 -------- C:\WINDOWS\system32>netsh diag connect iphost yahoo.co.jp 80 IPHost (yahoo.co.jp) IPHost = yahoo.co.jp Port = 80 サーバーは次のポートで実行中と思われます [80] -------- > これはDOS攻撃などを防ぐためで、ICMPを止めているルータは > 結構多いですよ。ちなみにpingもICMPを使用しているので、 > 途中で止められると思います どのサイトにもtracertができないことを考えると、私の家のルーターがICMPを止めてしまっているということなのでしょうか? この場合、ルーターを買い換えるしかないのでしょうか? 別のPC(Vine Linux)からtracerouteを試してみても同じ結果でした。 ちなみに、回線は、eaccess の adsl でして、プロバイダは@niftyです。 このプロバイダ側で止められている(プロバイダを変えるしかない)ということもあるのでしょうか? No.1 の方にお伝えする方法がなかったのでここに書かせて頂きますが、ping を試してみたところ、やはり通りませんでした。インターネット上への ping について、以前成功したことがあったと思ったのですが、勘違いだったのかもしれません。すみませんでした。
- koi1234
- ベストアンサー率53% (1866/3459)
ICMP関連のパケット通過をルータ設定で フィルタリングしてるのではないでしょうか? http://itpro.nikkeibp.co.jp/article/COLUMN/20060329/233703/ pingなどもできないのと違います?
補足
ping は内部LAN、インターネットサイトともに正しく通ります。 また、Tracert を実行した際にも、それと思われる IP が表示され、 nslookup で確認することもできています。 教えていただいたURLを拝見いたしました。 このような状況でも、ルーター側で ICMP 関連の設定に問題がある場合はあるのでしょうか。ルーターはNEC社製のAterm WARPSTAR WD605CVですが、「接続先設定」のメニューにある「PING応答機能」のチェックはオフになっています。これは、WAN側からPINGコマンドを打たれた場合に応答を返さない設定だと思うのですが、これをオンにしても結果は同じでした。
お礼
お礼の欄にて追記させて頂きます、失礼致します。 先ほど、設定を一部変えたところ、うまく外部宛の ping と tracert が 成功致しました。有難うございました! 設定内容は以下の通りです。 -------- 上記補足の設定において、さらに穴を広げたような形で設定致しました。 上記設定から変更した部分は以下の通りです。 方向:両方向 (送信元と宛先が逆になったパケットも通過を許可する) 適用するインターフェース:LAN 側、WAN 側。 (「LAN 側」、「WAN 側」インターフェースの両方にチェック。) ------ お礼の欄に書いてしまって申し訳ないのですが、 この設定の場合、ICMP パケットに対して、ほぼ完全にオープンな状態になっているように思われます。 この設定内容について、LAN 内から外向けの ping、tracert が通るようにしたいだけの場合、もう少し通過許可の条件を絞ることはできないでしょうか。 自宅サーバーを立てようと思っているため、できればなるべく穴を 小さくしたいと思っています。こういった場合の設定方法や参考になるサイトなどご存知ないでしょうか。 もうしばらくお返事を待たせて頂きたいのですが、 今回の問題については、ひとまず ping と tracert が通り、ほぼ解決致しました。また追って別の質問として立てさせて頂くかもしれませんが、今回は誠に有難うございました。
補足
ご親切なアドバイス有難うございます。 外部からのICMPパケットをルータが通過させる設定が必要ということですね。 これは、例えば、LAN 内のマシンから ping や tracert コマンドで ICMP パケットを発信して、外から帰ってきた応答のみを許可する、 といった振り分け方はできるのでしょうか。 そのような ICMP パケットの通過を許可するフィルタを追加しようと思い、 ルータのLAN 側インターフェースにて、下記のような設定をしました。 その後、再度 ping 、tracert を試してみたのですが、 結果は同じで、request time out しか返ってきませんでした。 以下のような設定で、何が問題なのかおわかりになりますでしょうか? ----------------------- 追加設定したパケットフィルタ (パケットフィルタリングの設定の解説ページまで有難うございました。 こちらは、Aterm WARPSTAR WD605CV(C) という型番でして、 型番について、これ以上は把握できませんでした。) ※「LAN 側」のチェックのみオンにしています。 フィルタ種別 : 通過 送信元IP アドレス : 192.168.0.0/16 宛先IPアドレス : * プロトコル種別 : ICMP パケットの通過を許可 方向 : 順方向 (順方向の意味は、 「送信元と宛先が入れ替わったパケットは、フィルタを適用しない」 ということだと思って、指定しています) -------------