/ dev / nullと同等のIPアドレス


92

送信されるパケットが無視される(ブラックホール化される)IPアドレスがありますか?

常にIPアドレスを使用してルーターをセットアップし、送信されたすべてのパケットを無視するようにできることは知っていますが、トラブルを回避するためにそのようなものが存在しますか?


2
悪意のあるトラフィックへのブラックホールとして使用される可能性のあるヌルインターフェイスを使用するデバイス(San Fran cisco co。のルーターやスイッチなど)がいくつかあります。そのNullインターフェイスへのルートを指定して、そのルートへのすべてのトラフィックを破棄する必要があります。
アドリアーノP 14年


2
私は興味があります、なぜ質問は「スパム防止」とタグ付けされますか?
マイクペニントン14年

@WChargin、それが冗談であったことを願っています- devnull-as-a-service.comネットワーキングとは何の関係もないようで、それでもくだらないように見えますこれは何ですかWhen we say "government" we mean NSA, CIA, FBI, TSA, Communist Party of China (CPC), Nestle, The Coca-Cola Company, the KGB, some of your coworkers and our friends (especially if there is something funny).
VL-80 14年

5
@Nikolayはい、それは冗談でした。ウェブサイトもそうでした。その参照のGithubのREADMEを:「それは、企業、クラウド、* -as-サービスについてほとんどだし、それに批判。」(強調鉱山)
wchargin

回答:


84

RFC 6666で説明されいるように、IPV6には具体的にはブラックホールプレフィックスがあり、100 :: / 64です。IP4にはそのような明示的なブラックホールはありませんが、予約されたブロックの1つに存在しないホストがその効果を持ちます。(たとえば、240.0.0.0 / 4は「将来の使用のために予約済み」であり、何にもルーティングされません。)


32
将来の使用のために予約されているものにデータを送信することは、その将来の使用が実現するまで良いアイデアです。
corsiKa 14年

5
非常に良い点ですが、IP4が再び拡張されることは非常に疑わしいです。
バンドラミ14年

8
しかし、ルーターはパケットをドロップすることが保証されていますか?ICMPが「宛先に到達不能」を返す場合、OPが要求したものではないためです。
WGH

41

ネットワークブラックホールのようなものがあります。

ネットワークにIPアドレス192.168.0.10のデバイスが存在しない場合、このIPアドレスは一種のブラックホールであり、単に存在しないため、すべてのトラフィックを「破棄」します。

接続状態(TCP)を追跡するプロトコルは、欠落している宛先ホストを検出できます。UDPでは発生せず、パケットは死ぬだけで、送信ホストには通知されません。

特定の(または多数の)アドレスからパケットを(拒否ではなく静かにドロップするように設定することにより、ファイアウォールでブラックホールを設定できます。

私の知る限り、TCP / IPバージョン4(Bandramiに感謝)でブラックホールを行うようなネットワーク標準アドレスはありません。

したがって、2つのオプションがあります。

  1. どのホストにも割り当てられていないIPアドレス。
  2. たとえば、netcatultrasawbladeが提案するように)を使用して、パケットまたはそのバリエーションをサイレントにドロップするファイアウォールを備えたホスト。

nc -vv -l 25 > /dev/nullTCPポート25で着信接続をリッスンし、結果をにパイプします/dev/null。その他の例はこちら

サブネット全体をブラックホールにすることもできます(Nullルート)。


4
TCPトラフィックを受信するが、何もしないものが必要な場合は、nc(またはnetcat)を使用して簡単にセットアップできます。しかし、@ Nikolayが言うように、これを自動的に行う「ブラックホール」IPはありません。
ローレンス

2
少なくともIP4ではない
バンドラミ14年

@Bandrami:では、IPv6はどうですか?
user2357112 14年

2
@ user2357112、彼の答えを見てください。それは私のすぐ下です。
VL-80 14年

19

ブラックホールではありませんが、特に目標が「安全に機能しないデフォルト」値である場合は、テスト/例の目的で(RFC 5737によって)確保されたIPを考慮することもできます。

  • 192.0.2.0/24 (TEST-NET-1)、
  • 198.51.100.0/24 (TEST-NET-2)
  • 203.0.113.0/24 (TEST-NET-3)

ネットワークオペレータは、これらのアドレスブロックをルーティング不可能なアドレススペースのリストに追加する必要があり(SHOULD)、パケットフィルターが展開されている場合は、このアドレスブロックをパケットフィルターに追加する必要があります。

これらのアドレスへのパケットがブロックされるという保証はありませ(ISPなどに依存します)が、確かに誰もそれらを使用してはいけません。


1
ドロップする代わりに拒否することもできるので…
ミラビロス14年

1
192.0.2.0は最初の試行で動作するようで、これまでのところパケットを返していません。さらにテストを行います。
タイラーダーデン

16

「標準のブラックホールアドレス」は存在せず、実際に要件もありません。あなたは実際に達成しようとしていることを言わないので、私はあなたを助けることはできませんが、あなたがそれを尋ねたときにあなたの質問に答えるあなたの問題のいくつかの間違った解決策があります:

  • あなたは使用することができRFC1918アドレスネットワーク上で使用されていないですし、あなたのためにそれをドロップし、あなたのISPに依存しています。たとえば、192.168の一部のみを使用している場合、ISPによって10.255.255.1がヌルルーティングされます(これはデフォルトゲートウェイのおかげで取得されます)。
  • 将来の使用のために予約されているIPアドレスを使用できます(おそらく使用されることはありません)。それは古い「クラスE」の範囲です。上記と同じように機能しますが、すべてのプライベートアドレス範囲を既に使用している場合でも機能します(必要以上に広いネットマスクを使用することで、何百万ものデバイスを接続できるとは思えません)。たとえば、254.0.0.1は(合法的に)実際のデバイスを参照することはありません。
  • これが必要なマシンでは、ドロップのみのターゲットを追加できます。たとえば、上記のような未使用のアドレスを使用すると、iptables -I OUTPUT -d 254.0.0.0/8 -j DROPゲートウェイを煩わせたり、実際のネットワークインターフェースでトラフィックを引き起こしたりする代わりに、その「ネットワーク」に送信されたものはすべて静かにドロップされます。

繰り返しますが、おそらくあなたはそれが便利だと思っていても、実際にはこれのどれも望んでいません-それはそうではなく、混乱し、自明ではなく、あなたの問題が本当に何であれ良い解決策ではありません。


254.0.0.1はパケットをブラックホールしません。「送信エラー」エラーが表示されます。
タイラーダーデン14年

7
「おそらくこれは実際には必要ないでしょう...」の+1
RBerteig 14年


2

テスト範囲

「ドキュメントと例で使用するために、「TEST-NET」アドレス範囲の1つを提案するでしょう。それは公に使用すべきではありません」

192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

「Bogon」(偽/偽)の範囲

ここでどこに言えばいいのかわかりませんが、これはどこかでルーティングされるパケットを実装する特定の方法というよりも、インターネットゲートウェイが提供するプラクティスのようです


ローカル範囲

127.0.0.0/8たとえば、ループバックアドレス範囲もあります127.0.0.255。そこに物、特にローカルマシン上のサービスが存在する可能性はありますが、少なくとも、ネットワーク上のマシンに干渉することはありません(他のネットワークサービスに支えられているネットワークサービスがない限り)。

127.0.0.0/8


違法な宛先範囲

おそらく違法なアドレス0.0.0.0も使用できますが、 0.0.0.0 / 8は「現在(「これ」)へのブロードキャストメッセージに使用」に予約されているため、ブロートキャスティングのリスクがあります。

0.0.0.0/8

NullルートのWikipediaページには次のように記載されています。

ヌルルートは通常、特別なルートフラグで構成されますが、0.0.0.0などの不正なIPアドレスやループバックアドレスにパケットを転送することで実装することもできます。


参照:https : //en.wikipedia.org/wiki/Reserved_IP_addresses


ただし、トラフィックがホストから出ないようにしたかったのでlocalhost、全体として最も高いポートで使用することを選択しました65535
ThorSummoner

ポートを指定する場合は、TCP、UDPなどの各プロトコルも指定する必要があります。その際、一部のトラフィックがルール(ICMPなど)をエスケープする場合があります。
ドレイク

1

考慮すべきことの1つは(特定のシナリオで問題になる場合も問題でない場合もあります)、存在しないIPアドレスにトラフィックをリダイレクトすると、ルーターやホストそのアドレスのARPを継続的に試行する可能性があることです。悪いことです。

このファントムアドレスに静的なARP <-> IPバインディングを構成すると、システムは常に解決されたARPエントリを持ち、そのARPアドレス(おそらくは偽物)を使用してパケットをワイヤ上に置くだけです。トラフィックは実際にはどこにも着陸しません。

繰り返しますが、これはあなたが実際に望むものではないかもしれませんが、検討する価値があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.