ローカルネットワークインターフェイスを指すルーティングルールが複数の宛先IPアドレスを受け入れるのはなぜですか?

ローカルネットワークインターフェイスを指すルーティングルールが複数の宛先IPアドレスを受け入れるのはなぜですか?
$ /sbin/route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.122.1   0.0.0.0         UG    0      0        0 ens3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 ens3

$ /sbin/ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.122.202  netmask 255.255.255.0  broadcast 192.168.122.255
        inet6 fe80::5054:ff:fe99:5eee  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:99:5e:ee  txqueuelen 1000  (Ethernet)
        RX packets 14906  bytes 18020195 (17.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7390  bytes 786783 (768.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 35568

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 496  bytes 39840 (38.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 496  bytes 39840 (38.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

パケットがホストに到着し、パケットの宛先がプライベートIPアドレス(192.168.122.2)の場合、

  • ルーティングテーブルの2番目のエントリによると、パケットは最終宛先であるens3(192.168.122.202)に転送されますか?

  • もしそうなら、期待されるターゲット192.168.122.2がlocalhostにないので、間違っていませんか?つまり、2番目のエントリが別の宛先IPアドレスにパケットを転送するのはなぜですか?範囲ローカルネットワークインターフェースへ単一IPアドレス?

ありがとうございます。

答え1

このインターフェースが以下を提供することを忘れました。ネットワーク、(IPネットワークの場合)デフォルトのIPアドレスとネットマスク(またはIPv6のプレフィックス長)として定義されます。

192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 ens3

192.168.122/24 ネットワークに送信されたパケットがネットワークインターフェイスに送信されることを示します。ens3その後、パケットは適切なホストに送信されますが、これはこのシステムの問題ではありません。

ネットワークはネットワーク上のすべてのホストに同じアクセスを提供する必要があるため、ens3ゲートウェイまたはルーターの助けを借りずにパケットを192.168.122/24ネットワーク上のすべてのホストにポイントツーポイント方式で効率的に転送できる必要があります。

0.0.0.0         192.168.122.1   0.0.0.0         UG    0      0        0 ens3

カーネルが何をすべきかわからないパケットをゲートウェイ192.168.122.1に送信する必要があることを示します。ゲートウェイはそれを適切に渡します(可能な場合)。ゲートウェイにアクセスできます。渡す ens3

これらのどれも、所与のパケットが実際に宛先に到達することを保証しない。これがネットワーク(およびインターフェイスでさえ)が「ターゲットホストに到達できません」などのエラーを報告する理由です。

(ステッカーは私がL2 / L3の問題を無視したと文句を言うかもしれませんが、ここでは関係がなく、最終的に混乱するだけです。)

関連情報