web-dev-qa-db-ja.com

このROUTEADDコマンドが失敗するのはなぜですか?

(デフォルトゲートウェイの代わりに)「どこにも」つながる特定のルートを追加することにより、単一のIPアドレスへのアクセスをブロックしようとしています。

route ADD 199.239.136.200 MASK 255.255.255.255 127.0.0.1 METRIC 10

問題は、このコマンドが次のエラーで失敗することです。

ルートの追加に失敗しました:パラメータが正しくありません。

どのパラメータが正しくないかはわかりません。私はおそらくネットワークの基本の暗黙のルールに違反しましたが、それが何であるかはわかりません。どのパラメータが正しくないか、そしてさらに重要なのはなぜですか?

ありがとう。

2
Android Eve

ループバックデバイス(127.0.0.1)をゲートウェイにすることはできません。それは意味がありません。

このコマンドで言っていることは、「このゲートウェイを介してこのアドレスに向かうすべてのトラフィックをルーティングする」ということです。ループバックはどのネットワークにもルーティングされないため、機能しません。

このトラフィックが通過するゲートウェイを見つけて、代わりにそれを使用します。コメントであなたはあなた自身のIPアドレスを使用することに言及しました。 IPがトラフィックのルーティングに失敗するため、これは機能する可能性があります。私はこれをテストしていないのでymmv:

route ADD 199.239.136.200 MASK 255.255.255.255 <OWN_IP> METRIC 10

詳細については、 ウィキペディアのループバックに関する記事 を確認する価値があるかもしれません。また、ルーティングにおけるゲートウェイの役割については、 このスーパーユーザーの質問 を確認してください。

1

自分のデバイスをゲートウェイとして追加しようとしています。コンピューターのすべてのポートについて、これを行う理由を考え出すことができます。問題は、Windowsでは127.0.0.1をゲートウェイとして設定できないことです。これは、Windowsのipconfigで定義されていないことが原因である可能性があります。したがって、ゲートウェイとして127.0.0.1を使用する代わりに、Windowsはそれを「On-Link」として再定義しました。

Destination    Netmask     Gateway    Interface    Metric 
127.0.0.0      255.0.0.0   On-link    10.10.2.210  11

オンリンクゲートウェイを設定するには、0.0.0.0として指定する必要があります。私の推測では、Microsoftはこのゲートウェイが不可能であることを知っていたので、内部的にローカルアドレスゲートウェイとして定義しました。

これを設定するには、次を使用します。

C:\Windows\system32>route add 127.0.0.0 mask 255.0.0.0 0.0.0.0
 OK!

C:\Windows\system32>route add 127.0.0.1 mask 255.255.255.255 0.0.0.0
 OK!

Windowsが意図したものを選択しない可能性があるため、必ず独自のメトリックとインターフェイスを指定してください。

1
Patrick

サブネットマスクを255.255.255.255に設定すると、アドレスのすべてのビットがマスクされます。これは私には問題のように思えます。

0
Nick