SSHを介してIPv4をrpi2からOpenWRTに変更し、ホストシステムでdhclientを実行しました。これで、1つのNICに2つのIPv4があり、動作します!どのように?

SSHを介してIPv4をrpi2からOpenWRTに変更し、ホストシステムでdhclientを実行しました。これで、1つのNICに2つのIPv4があり、動作します!どのように?

タイトルで述べたように申し訳ありません。具体的なタイトルが欲しかったが、具体的で短く表現できなかった。その間、次のことを行いました。

  1. Raspberry Piでテストするには、OpenWRT Flash SDカードを使用してください。
  2. OpenWRTはdhcpクライアントを無効にし、私のネットワークのIPv4モードに対応しないイメージに静的IPを配置しました。
  3. そのため、192.168.1.1に接続するためにホストIPv4を192.168.1.2に変更しました。動作します。
  4. ログアウトした後、ホストコンピュータでdhclientを実行しました。

これで、以前のようにすべてのネットワークデバイスにアクセスでき、上記のOpenWRTシステムにも接続できます。私のホストシステムにはネットワークカードが1つしかありません。それでは、これがどのように機能するのか疑問に思います。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether *somevalue* brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.88.88.80/24 brd 10.88.88.255 scope global dynamic eth0
       valid_lft 863229sec preferred_lft 863229sec
    inet6 XXX/64 scope global dynamic mngtmpaddr 
       valid_lft forever preferred_lft forever
    inet6 XXX/64 scope global dynamic mngtmpaddr 
       valid_lft 7013sec preferred_lft 1613sec
    inet6 XXX/64 scope link 
       valid_lft forever preferred_lft forever

答え1

OS簡単に言うと、これは、同じインターフェイスに複数のインターフェイスを割り当てる機能IPv4 addressesとルーティングテーブルを使用して達成されますARPアドレス解決プロトコル

ノード(A)が他のノード()と通信しようとすると、最初は宛先までの最短経路を見つけるためにルーティングテーブルを参照することがB知られています(ラウンドロビン戦略などのより複雑なケースがあるかもしれませんが、単純化のためにここでは最短ルートポリシーを想定します。この時点でも、2つのことが知られています。a)どのソースアドレスが使用されているか、b)どのゲートウェイデバイス()が交換に参加しているか。IPv4 addressB
AG

次に、キャッシュテーブルにA存在するアドレスエントリを確認しますB。ゲートウェイを使用するには、こことそれ以降のすべてのリクエストでアドレスを確認して使用してください。IPARPAG

キャッシュされたエントリがある場合、送信するアドレスがそのエントリからA選択されます。MACIP packet

キャッシュされた情報がない場合は、ブロードキャストしAAddress Resolution RequestIPアドレスからアドレスへのマッピングを知っているLAN segment人がいるかどうかを確認してください。BGMAC

06:14:26.622107 7a:df:9c:b5:9a:ef > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.8.145 tell 192.168.8.160, length 28
06:14:26.665609 ac:ed:5c:76:01:38 > 7a:df:9c:b5:9a:ef, ethertype ARP (0x0806), length 60: Reply 192.168.8.145 is-at ac:ed:5c:76:01:38, length 46

192.168.8.160これはホストが確認を試みるMACアドレスです192.168.8.145。要求された情報を持つすべてのノードは応答を再送信します。要求はブロードキャストMACアドレス(FF:FF:FF:FF:FF:FF)を宛先アドレスとして送信され、応答はMAC要求者のユニキャストアドレスを使用して送信されます。これは、このネットワークセグメントに接続されているすべてのノードのIPスタックが不要な情報でいっぱいになるのを防ぐためです。

ノードはA応答を受け取り、そのARPエントリをキャッシュに入れるので、次に応答を送信する必要があるときにBネットワークに再クエリする必要はありません。AIP packetB

このように、ノードはIPv4 subnets同じインターフェースを使用して、同じノードに物理的に接続された他のノードと通信する機能を維持する。LAN segment

ノードは、イーサネットインターフェイスに追加のIPアドレスが割り当てられていることを192.168.1.1認識しません。192.168.1.2

関連情報