プライベートIPアドレスをルーティングできない理由は何ですか?


21

10.0.0.0/8、などのプライベートアドレスはルーティング可能172.16.0.0/12192.168.0.0/16はないことを理解しています。しかし、これらのアドレスがルーティングできないようにする正確な理由は何ですか?ISPは、これらのネットワークのルーティングを防ぐACLを実装していますか、それとも上位のものですか?

また、このデザインを作成したのはIANAですか?


「彼らは公にルーティングされないことを保証されているのか、そして誤って公に行動している誰かをまだルーティングしているのか」という暗黙の質問はありますか?
rackandboneman

3
最後の質問に関しては、IETFはIANAがパブリックアドレス空間から除外されるように定義しました。IPv4のRFC1918
RFC4193

3
もちろん、それらはルーティング可能です。ルーターは、パブリック外部アドレスからメッセージを取得し、内部プライベートアドレスに「ルーティング」します。ネットワークアドレス変換の基本を調べることをお勧めします。
Lakey

2
Lakey、公開ウェブではルーティングできません。したがって、なぜNatがIPアドレスを節約するために必要であり、使用されるのか。私はシスコのクラスに所属しており、教授がこの質問に答えられなかったため、ここに投稿しています。
QuantumRads

1
また、プライベートアドレスはプライベートネットワークでルーティング可能であり、パブリックネットワークではルーティングできないことを明確にすべきでした。
QuantumRads

回答:


39

プライベートIPアドレスパブリックにルーティングされていませんが、ルーティング可能です。基本的に、ルーターはプライベートアドレスをインターネットではなくプライベート/内部LANにルーティングします。

私の答えを拡大するために:ルーターデフォルトゲートウェイを介してプライベートアドレスをパブリック側にルーティングできます。ただし、パケットは、他のルーターがドロップしたり、パケットのTTLが0になったりするため、送信中に「失われます」。

たとえば、これを見てください(部分的に難読化されています)traceroute -I -n 192.168.200.1

[root@myhost ~]# traceroute -I -n 192.168.200.1
traceroute to 192.168.200.1 (192.168.200.1), 30 hops max, 60 byte packets
 1  x.x.x.x  0.851 ms  0.841 ms  0.818 ms
 2  6x.xx.xx.xx  0.791 ms  0.791 ms  0.849 ms
 3  15x.xx.xx.xx  1.350 ms  1.347 ms  1.373 ms
 4  15x.x.xx.xx  1.446 ms  1.435 ms  1.428 ms
 5  151.6.68.20  2.272 ms  2.266 ms  2.251 ms
 6  151.6.0.91  8.818 ms  8.256 ms  8.326 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
...
...
29  * * *
30  * * *

ご覧のとおり、パケットマシンのデフォルトゲートウェイを介してパブリックインターネットにルーティングされます。ただし、トランジット中にドロップされ、適切な宛先に到達することはありません。

結局のところ、プライベートIP /クラスは(定義により)顧客間で重複しているので、数千の192.168.200.x / 24ネットワークのどれをこのパケットにルーティングする必要がありますか?

興味深い補足事項:インターネットプロバイダーは、内部ルーティングにプライベートアドレスを使用することがよくあります。たとえば、プライベート192.168.200.x / 24クラスが内部ルーティングに使用されている場合、IP 192.168.200.1 持つ最初のルーター/マシンは、パケットが未承諾であるため受信しますが、ドロップします。ICMPは興味深い例外です。ルーター/マシンは通常、非自発PINGに応答するためです。つまり、プライベートアドレススキャンを使用してISPプライベートネットワークをマップできる場合があります。


2
したがって、基本的に、IPアドレスが10、172.16〜31、または192.168で始まる場合、ルーターは外部インターネット(企業内では一般に外部から)ではなく、内部LANネットワーク経由でのみ送信するように構成する必要があります。ゲートウェイ)。これらの「プライベートネットワーク」については、en.wikipedia.org
ブルーノ

3
実際に、ルーティングされたプライベートネットワークを作成する場合は常に、プライベートRFC1918アドレス(192.168、172.16、10)をルーティングすることは珍しくありません。
user253751

3
@Brunoとは限りません。ルート、パブリックサイドのプライベートアドレスをデフォルトゲートウェイにルーティングできますが、他のルーターは最終的にパケットをドロップするか、ループでルーティングします(TTLが0になるとパケットは破棄されます)。
shodanshok

ISPのメインルーターにもデフォルトゲートウェイありますか?それはどうなりますか?
クバンチク

通常、はい。結局のところ、ISPは他のISP向けのパケットをルーティングする必要があります
...-shodanshok

9

通常、プライベートIPアドレスはISPによってフィルタリングされます。また、アクセスルーターがリークしないように構成する必要があります。

プライベートIPアドレスは誰でも使用できるため、インターネット上では使用できません。192.168.1.1を個人的に使用しているデバイスはおそらく何百万台ありますが、パケットを送信するインターネットルーターはどれですか?

Zeroconfアドレス(169.254.0.0/16)は実際にはルーティングできません。これらは、アドホックな方法でどこでも使用できますが、ローカルのもの以外のインターネットやサブネットにはアクセスできません。各デバイスが未使用のアドレスを単独で選択できるブロードキャストドメイン内でのみ有効であるため、ルーティングできません。定義上、zeroconfにはDHCPサーバーのような管理インスタンスはありません。


6

しかし、これらのアドレスがルーティングできないようにする正確な理由は何ですか?

通信するエンティティによって実施される受け入れられた標準。これらは、ソフトウェア、ハードウェア、および構成で実施されます。

ISPは、これらのネットワークのルーティングを防ぐACLを実装していますか、それとも上位のものですか?

彼らはできますが、実際に停止されているのは、標準に従わない単なる無効な翻訳です。

ほとんどのホームユーザーと同じように、パブリックIPアドレスとして割り当てられたIPアドレスが1つあります。接続されたすべてのデバイスからのトラフィックが通信するために、ルーターはNAT(ネットワークアドレス変換)またはPAT(ポートアドレス変換)を使用して、これらの内部IPアドレスの変換を実行します。

基本的に、ルーターは、LAN(ローカルエリアネットワーク)のどの内部IPアドレスが、LANの外側、ルーターを経由してWAN(ワイドエリアネットワーク)インターフェイスに到達するセッションを開始したかを記憶します。データがルーターを出ると、ソースIPとして割り当てられた単一のIPアドレスが含まれます。入ってくると、パケットには宛先IPと同じアドレスが含まれます。ルーターは、そこからどこに誘導されるかを決定します。

外部には、実際にはルーターのIPである単一のIPアドレスしかありません。ルーターは、これらのセッションを追跡し、LAN上の各内部IPアドレスに属するトラフィックを特定し、それに応じてそのトラフィックを誘導できます。複雑な管理プロセスですが、各ルーターですべてが変換されることを理解すれば、アイデアは実際には非常に簡単です。

さらに、ほとんどのホームルーターにはスイッチングポートがあり、IPアドレスではなくMACアドレスを介してトラフィックが配信されます。パケットの送信元MACアドレスは、ルーターに到達するまで同じままです。ルーターは、そのソースMACアドレスを削除し、独自のWANインターフェイスのMACアドレスを挿入します。

また、このデザインを作成したのはIANAですか?

これらの標準はもともとIANAによって設計されたものではありません。今日、彼らは基準を設定することで主導権を握っていますが、彼らは確かに法律の手段を通してそれらを強制しません。それらはコンセンサスによって実施される標準です。RFC 791を検索してください。

彼らは誰もが彼らに固執することをいとわない程度まで「権限」を持っています。これらの標準に完全に逆らうことは完全に可能ですが、最終的には、遵守することを要求するパスに沿ってどこかでISPにアクセスするか、トラフィックをドロップします。

それがお役に立てば幸いです。


2
OPの特定の質問に関係しているので、これのすべての言葉が頭に釘を打つと思います。他の答えは事実上正しいですが、OPの特定の混乱に可能な限り直接対処するかどうかはわかりません。重要な点は、慣習と、ほとんどの人がそれに従うことを望むという事実です
モニカとの軽さのレース

1
@LightnessRacesinOrbit:これは基本的に、この答えの最初の引用されていない単語でカバーされていますが、厳密には必要ではありません...この単語はあなたが指摘した点を強調しています。ただし、斜体のテキストはポイントを改善することに同意します。
TOOGAM

2
@TOOGAM:うん、ただ補強しているだけだ。私が言ったように、この答えは完璧だと思います。
モニカとの軽度のレース

1

他の回答からの説明として、ローカルで使用しているプライベートIPアドレス範囲は、ルーティングテーブルに独自の明示的なエントリがあるため、インターネットにルーティングしません。たとえば、自宅のデスクトップからのルートテーブルを次に示します。

$ ip route
default via 192.168.1.1 dev enp5s0 proto dhcp src 192.168.1.104 metric 1024 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-90a372f4b373 proto kernel scope link src 172.18.0.1 linkdown 
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.104 
192.168.1.1 dev enp5s0 proto dhcp scope link src 192.168.1.104 metric 1024

注意してください172.17.0.0/16172.18.0.0/16。これらのネットワークへのパケットは、ルートテーブルに特定のエントリがあるため、コンピューターを離れることなく、ドッカーブリッジに直接送られます。192.168.1.0/24エントリは明示的にそのネットワークへのトラフィックが出て行くと言うenp5s0のインターフェイスを。私のルーターのルートテーブルには、デスクトップが接続されているインターフェイスからそのプライベートネットワークのすべてのトラフィックを送信する同様のエントリがあります。

デフォルトルートに移動するのは、テーブルに明示的に含まれていないネットワークのパケットのみです。次の方法で、ネットワークを到達不能として明示的にマークできます。

$ ip route add unreachable 10.0.0.0/8

これにより、ルートテーブルが次のように変更されます。

$ ip route
default via 192.168.1.1 dev enp5s0 proto dhcp src 192.168.1.104 metric 1024 
unreachable 10.0.0.0/8 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-90a372f4b373 proto kernel scope link src 172.18.0.1 linkdown 
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.104 
192.168.1.1 dev enp5s0 proto dhcp scope link src 192.168.1.104 metric 1024

現在、私のデスクトップは、デフォルトゲートウェイにその範囲のアドレスについて問い合わせようとさえしません。そのアドレスのルックアップは、すぐに「ホストへのルートなし」を返します。

$ traceroute 10.0.0.1
traceroute to 10.0.0.1 (10.0.0.1), 30 hops max, 60 byte packets
connect: No route to host

ルートテーブルで明示的に到達不能とマークされていない到達不能ネットワークのパケットは、ネットワークが到達不能であることを明示的に認識するルーターに到達するか、TTLが期限切れになるまで、デフォルトルートを介して転送され続けるだけです。

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